home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / taropyon / hewin / hewin.cci < prev    next >
Text File  |  1993-11-30  |  120KB  |  5,569 lines

  1. # 1 "main.cci"
  2.  
  3. # 1 "main.cci"
  4. # 89 "lib.h"
  5. int _kan_km;
  6. # 31 "main.cci"
  7. char *SysMacro = (0);
  8.  
  9. char SYSMACRO_FN[10] = {'h','e','w','i','n','.','m','a','c','\0'};
  10. # 6 "lib.cci"
  11. int DlgMvFunc(int evtNo, char *sbj)
  12. {
  13. char *dlg;
  14. short fr[4];
  15.  
  16. dlg = EVT_getPtr(sbj);
  17. fr[0] = DLG_getFr(dlg,0);
  18. fr[1] = DLG_getFr(dlg,1);
  19. fr[2] = DLG_getFr(dlg,2);
  20. fr[3] = DLG_getFr(dlg,3);
  21. if ( DlgMove( fr ) )
  22. { DLG_move( dlg, fr[0], fr[1] );
  23. }
  24. return ((-2));
  25. }
  26.  
  27.  
  28. char *GetAsciiTime( char *s, long t )
  29. {
  30. int *tm;
  31.  
  32. tm = localtime( &t );
  33. sprintf( s, "%04d/%02d/%02d %02d:%02d",
  34. (tm[5])+1900, (tm[4])+1, (tm[3]),
  35. (tm[2]), (tm[1]) );
  36. return (s);
  37. }
  38.  
  39.  
  40. int TxdUsr_saveColTbl( char *txd )
  41. {
  42. int ret;
  43. char *fdl;
  44. char tmp[128], *fn;
  45.  
  46. if ( (fdl = FDL_open(0)) == (0) )
  47. return ((-1));
  48. FDL_set_wildcard( fdl, "*.tbl");
  49. FDL_set_title( fdl, "SAVE COLOR TABLE");
  50. ret = FDL_start(fdl);
  51. fn = FDL_get_filename(fdl);
  52. if ( ret != (0) || strlen(fn) == 0 )
  53. {
  54. FDL_close(fdl);
  55. return ((-1));
  56. }
  57. FS_appendSnam( tmp, fn, ".tbl");
  58. TXD_saveColTbl(txd,tmp);
  59. FDL_close(fdl);
  60.  
  61. return ((0));
  62. }
  63.  
  64. int CnsUsr_saveColTbl( char *cns )
  65. {
  66. int ret;
  67. char *fdl;
  68. char tmp[128], *fn;
  69.  
  70. if ( (fdl = FDL_open(0)) == (0) )
  71. return ((-1));
  72. FDL_set_title( fdl, "SAVE COLOR TABLE");
  73. FDL_set_wildcard( fdl, "*.tbl");
  74. ret = FDL_start(fdl);
  75. fn = FDL_get_filename(fdl);
  76. if ( ret != (0) || strlen(fn) == 0 )
  77. {
  78. FDL_close(fdl);
  79. return ((-1));
  80. }
  81. FS_appendSnam( tmp, fn, ".tbl");
  82. CNS_saveColTbl(cns,tmp);
  83. FDL_close(fdl);
  84.  
  85. return ((0));
  86. }
  87. # 93 "lib.cci"
  88. char *MakeFnDate( char *getFn, char *path, char *top, char *sub )
  89. {
  90. long t;
  91. int *tm;
  92. char tmp[32];
  93. int ch;
  94.  
  95. time(&t);
  96. tm = localtime( &t );
  97. sprintf( tmp, "%02d%02d%02d", (tm[5]), (tm[4])+1, (tm[3]) );
  98. ch = 'a';
  99. while ( ch <= 'z' )
  100. { sprintf( getFn,"%s%s%s%c%s", path, top, tmp, ch, sub );
  101. if ( FS_isFileExist(getFn) == 0 )
  102. return (getFn);
  103. ++ch;
  104. }
  105. getFn[0] = '\0';
  106. return ((0));
  107. }
  108.  
  109.  
  110. int MakeLogStr( char *buf, char *s )
  111. {
  112. while ( *s )
  113. {
  114. if ( iskan(s) )
  115. {
  116. *buf = *s; ++buf; ++s;
  117. *buf = *s; ++buf; ++s;
  118. } else if ( *s == '\\' )
  119. {
  120. *buf = '\\'; ++buf;
  121. *buf = 'x'; ++buf;
  122. *buf = '5'; ++buf;
  123. *buf = 'c'; ++buf;
  124. ++s;
  125. } else
  126. { *buf = *s; ++buf; ++s;
  127. }
  128. }
  129. *buf = '\0';
  130. }
  131.  
  132. int cci_wait(int sec)
  133. {
  134. int x, y;
  135. unsigned int clk;
  136.  
  137. clk = clock() + sec * 100;
  138. while ( clock() < clk )
  139. { if ( EVT_mos_pget(&x,&y) || EVT_kbhit() )
  140. break;
  141. }
  142. KBF_clear();
  143. return ((0));
  144. }
  145.  
  146. char *GetSizeStr( unsigned int siz, char *buf )
  147. {
  148. if ( siz == 0 )
  149. strcpy( buf, "0");
  150. else if ( siz < 1024 )
  151. sprintf( buf, "%u", siz );
  152. else if ( siz < 1024*1024 )
  153. sprintf( buf, "%.1fK", siz / 1024.0 );
  154. else
  155. sprintf( buf, "%.1fM", siz / 1048576.0 );
  156.  
  157. return (buf);
  158. }
  159. # 8 "colset.cci"
  160. int _csetDspFunc(char *dlg)
  161. {
  162. int *para;
  163. char *evt;
  164. int nowCol;
  165. int evtNo;
  166. int i, x, y;
  167. int x0, y0, xs, ys;
  168.  
  169. evtNo = 0;
  170. para = DLG_getPtr(dlg);
  171. evt = para[0];
  172. nowCol = para[1];
  173. x0 = DLG_getFr(dlg,0);
  174. y0 = DLG_getFr(dlg,1);
  175. xs = DLG_getFr(dlg,2);
  176. ys = DLG_getFr(dlg,3);
  177.  
  178. MOS_moveArea( x0, y0, x0+xs-1, y0+ys-1 );
  179.  
  180. DSP_boxfHol( x0+2, y0+2, x0+xs-2-1, y0+2+20-1, 0, 7, 15, 8);
  181. DSP_str( x0+4, y0+4, 1, 7, 16, "COLOR SELECT");
  182. EVT_set_mos( evt, evtNo++, i, (0x02)|(0x10), (1),
  183. x0+2, y0+2, x0+xs-2-1, y0+2+20-1, "DlgMvFunc", dlg );
  184.  
  185. for ( i = 0; i < 16; ++i )
  186. {
  187. x = x0 + 8 + i * 18;
  188. y = y0 + 32;
  189. DSP_box (x ,y ,x+15 ,y+15 , 0, 1);
  190. DSP_box (x+1,y+1,x+15-1,y+15-1, 0, 15);
  191. DSP_boxf(x+2,y+2,x+15-2,y+15-2, 0, i );
  192. if ( i == nowCol )
  193. { DSP_box (x-1,y-1,x+15-1,y+15-1, 0, 10 );
  194. } else
  195. { EVT_set_mos( evt, evtNo++, i, (0x02), (1),
  196. x, y, x+15, y+15, (0), (0));
  197. }
  198. }
  199.  
  200.  
  201. EVT_set_mos( evt, evtNo++, 9999, (0x06), (2),
  202. 0, 0, 0, 0, (0), (0));
  203. }
  204.  
  205. int COLSET_dlg(int nowCol)
  206. {
  207. int ret;
  208. char *dlg;
  209. char *evt;
  210. char *mosTk;
  211. int para[2];
  212.  
  213. if ( (evt = EVT_alloc((0),24)) == (0) )
  214. return ((-1));
  215. para[0] = evt;
  216. para[1] = nowCol;
  217. dlg = DLG_open( (0x10020),(0x10020),
  218. (8+18*16+8),80, (0x1000|(((7)&15)<<4)|((15)&15)), "_csetDspFunc", para );
  219. if ( dlg == (0) )
  220. {
  221. EVT_free(evt);
  222. return ((-1));
  223. }
  224. mosTk = MOS_push();
  225. DLG_dsp(dlg);
  226.  
  227. while ( 1 )
  228. {
  229. MOS_curDisp(1);
  230. ret = EVT_chk(evt,0);
  231. if ( (ret >= 0 && ret < 16) || ret == 9999 )
  232. break;
  233. }
  234.  
  235. DLG_close(dlg);
  236. EVT_free(evt);
  237. MOS_pop(mosTk);
  238. if ( ret >= 0 && ret < 16 )
  239. return (ret);
  240. else
  241. return ((-1));
  242. }
  243.  
  244. int _csetDspFunc2(char *dlg)
  245. {
  246. int *para;
  247. char *evt;
  248. int nowCol;
  249. int evtNo;
  250. int i, j, flag, x, y;
  251. int x0, y0, xs, ys;
  252.  
  253. evtNo = 0;
  254. para = DLG_getPtr(dlg);
  255. evt = para[0];
  256. nowCol = para[1];
  257. x0 = DLG_getFr(dlg,0);
  258. y0 = DLG_getFr(dlg,1);
  259. xs = DLG_getFr(dlg,2);
  260. ys = DLG_getFr(dlg,3);
  261.  
  262. MOS_moveArea( x0, y0, x0+xs-1, y0+ys-1 );
  263.  
  264. DSP_boxfHol( x0+2, y0+2, x0+xs-2-1, y0+2+20-1, 0, 7, 15, 8);
  265. DSP_str( x0+4, y0+4, 1, 7, 16, "MIX COLOR SELECT");
  266. EVT_set_mos( evt, evtNo++, i, (0x02)|(0x10), (1),
  267. x0+2, y0+2, x0+xs-2-1, y0+2+20-1, "DlgMvFunc", dlg);
  268.  
  269. for ( j = 0; j < 2; ++ j )
  270. {
  271. y = y0 + j*20 + 32;
  272. DSP_egbStr( x0+4, y, 1, (0x1000|(((7)&15)<<4)|((15)&15)), 16,"color %d", j+1);
  273. for ( i = 0; i < 16; ++i )
  274. {
  275. x = x0 + 8*8+ 8 + i * 18;
  276. DSP_box (x ,y ,x+15 ,y+15 , 0, 1);
  277. DSP_box (x+1,y+1,x+15-1,y+15-1, 0, 15);
  278. DSP_boxf(x+2,y+2,x+15-2,y+15-2, 0, i );
  279. flag = (0);
  280. if ( j == 0 )
  281. {
  282. if ( (nowCol & 15) == i )
  283. flag = (1);
  284. } else
  285. {
  286. if ( ((nowCol>>4) & 15) == i )
  287. flag = (1);
  288. }
  289. if ( flag )
  290. {
  291. DSP_box (x-1,y-1,x+15-1,y+15-1, 0, 10 );
  292. } else
  293. {
  294. EVT_set_mos( evt, evtNo++, i + (j * 16), (0x02), (1),
  295. x, y, x+15, y+15, (0), (0));
  296. }
  297. }
  298. }
  299.  
  300. EVT_setSelBtn( evt, evtNo++, 9997, (0x01), (1),
  301. x0+xs/2-32, y0+ys-28, 64, 24, (0), (0),
  302. 1, 7, 8, "SETUP" );
  303.  
  304. EVT_set_mos( evt, evtNo++, 9999, (0x06), (2),
  305. 0, 0, 0, 0, (0), (0));
  306. }
  307.  
  308. int COLSET_dlg2(int nowCol)
  309. {
  310. int ret;
  311. char *dlg;
  312. char *evt;
  313. char *mosTk;
  314. int para[2];
  315.  
  316. if ( (evt = EVT_alloc((0),40)) == (0) )
  317. return ((-1));
  318. para[0] = evt;
  319. para[1] = nowCol;
  320. dlg = DLG_open( (0x10020),(0x10020),
  321. (8+18*16+8)+8*8,112, (0x1000|(((7)&15)<<4)|((15)&15)),
  322. "_csetDspFunc2", para );
  323. if ( dlg == (0) )
  324. {
  325. EVT_free(evt);
  326. return ((-1));
  327. }
  328. mosTk = MOS_push();
  329. DLG_dsp(dlg);
  330.  
  331. while ( 1 )
  332. {
  333. MOS_curDisp(1);
  334. ret = EVT_chk(evt,0);
  335. if ( ret == 9999 || ret == 9997 )
  336. break;
  337. else if ( ret >= 0 && ret < 16 )
  338. {
  339. nowCol = (nowCol & 0xF0) + ret;
  340. para[1] = nowCol;
  341. DLG_dsp(dlg);
  342. } else if ( ret >= 16 && ret < 32 )
  343. {
  344. nowCol = (nowCol & 0x0F) + ((ret-16)<<4);
  345. para[1] = nowCol;
  346. DLG_dsp(dlg);
  347. }
  348. }
  349.  
  350. DLG_close(dlg);
  351. EVT_free(evt);
  352. MOS_pop(mosTk);
  353. if ( ret == 9999 )
  354. return ((-1));
  355. else
  356. {
  357. if ( ((nowCol>>4) & 15) == (nowCol & 15) )
  358. nowCol = nowCol & 15;
  359. else
  360. nowCol = nowCol | 0x1000;
  361. return (nowCol);
  362. }
  363. }
  364. # 47 "bgm.cci"
  365. int CCI_bgmPlay(int argc, char **argv )
  366. {
  367. char *fn;
  368.  
  369. if ( argc > 1 )
  370. {
  371. DLG_tmpMsgTime( (0x10020), (0x10020),
  372. 1, 3, (0x1000|(((5)&15)<<4)|((7)&15)),
  373. 2, "%s : \nBGM データをロードします。", argv[1] );
  374. if ( argc > 2 )
  375. {
  376. BgmMode = atoi(argv[2]) & 3;
  377. }
  378. fn = argv[1];
  379. if ( BGM_load(fn) == (0) )
  380. {
  381. BGM_playStart();
  382. }
  383. }
  384. return ((0));
  385. }
  386. # 76 "bgm.cci"
  387. int CCI_midPlay( int argc, char **argv )
  388. {
  389. char *fn;
  390. char tmp[256];
  391.  
  392. if ( argc > 1 )
  393. {
  394. DLG_tmpMsgTime( (0x10020), (0x10020),
  395. 1, 3, (0x1000|(((5)&15)<<4)|((7)&15)),
  396. 2, "%s : \n演奏データをロード、演奏します。", argv[1] );
  397. fn = argv[1];
  398. MID_playStop();
  399. MID_playStart(fn);
  400. # 94 "bgm.cci"
  401. }
  402. return ((0));
  403. }
  404. # 5 "blackout.cci"
  405. int BlackOutUsr_func( int x1, int y1, int x2, int y2)
  406. {
  407. int x, y, r, c, col;
  408. int xs, ys;
  409. char para[8];
  410.  
  411. xs = x2 - x1 + 1;
  412. ys = y2 - y1 + 1;
  413. c = 0;
  414. while ( 1 )
  415. {
  416. if ( ++c > 128 )
  417. {
  418. DSP_boxf( x1, y1, x2, y2, 0, 1 );
  419. c = 0;
  420. }
  421. if ( (c & 15) == 0 )
  422. {
  423. EVT_idl();
  424. MOS_curDisp(0);
  425. }
  426. if ( kbhit() || (KYB_shift() & 0x14) != 0 || MOS_pget(&x,&y) )
  427. break;
  428. col = (rand() % 14) + 1;
  429. x = x1 + (rand() % xs);
  430. y = y1 + (rand() % ys);
  431. r = rand() % 320;
  432. EGB_color( EgbPtr,0,col);
  433. EGB_writeMode( EgbPtr, 0 );
  434. EGB_paintMode( EgbPtr, 0x002);
  435. _setWord( para , x );
  436. _setWord( para+2, y );
  437. _setWord( para+4, r );
  438. EGB_circle( EgbPtr, para );
  439. }
  440. }
  441. # 49 "blackout.cci"
  442. int CCI_setBlackOut( int argc, char **argv )
  443. {
  444. char *func;
  445.  
  446. if ( argc > 1 )
  447. {
  448. if ( argc > 2 )
  449. func = argv[2];
  450. else
  451. func = "";
  452. Apl_setBlackOut( 0, atoi(argv[1]) & 0xFFFF, func );
  453. }
  454. return ((0));
  455. }
  456. # 13 "timer.cci"
  457. int CCI_setTimer( int argc, char **argv )
  458. {
  459. char *func;
  460.  
  461. if ( argc > 1 )
  462. {
  463. if ( argc > 2 )
  464. func = argv[2];
  465. else
  466. func = "";
  467. Apl_setTimer( 0, atoi(argv[1]) & 0xFFFF, func );
  468. Apl_timerStart();
  469. }
  470. return ((0));
  471. }
  472. # 59 "debug.cci"
  473. int CCI_pclExec(int argc, char **argv)
  474. {
  475. int ret;
  476. char *fdl;
  477. char *fn;
  478. char tmp[128];
  479.  
  480. if ( argc > 1 )
  481. {
  482. sprintf( tmp, "%s.", AplGetStartPath() );
  483. FS_chdrv( toupper(tmp[0]) - 'A' );
  484. FS_chdir( tmp );
  485. fn = argv[1];
  486. ret = (0);
  487. } else
  488. {
  489. if ( (fdl = FDL_open(0)) == (0) )
  490. return ((-1));
  491. FDL_set_title( fdl, "CHILD PROCESS LOADER");
  492. FDL_set_wildcard( fdl, "*.exp");
  493. if ( FDL_start(fdl) == (0) && FS_setFullPathname( tmp, FDL_get_filename(fdl)) == (0) )
  494. {
  495. ret = (0);
  496. fn = tmp;
  497. } else
  498. ret = (-1);
  499. FDL_close(fdl);
  500. }
  501. if ( ret == (0) )
  502. {
  503. AplDtaInit();
  504. DTA_dump( "f:/tmp/dta001.dmp" );
  505. ret = AplPclExec( fn, 3 );
  506. DTA_dump( "f:/tmp/dta002.dmp" );
  507. }
  508. return (ret);
  509. }
  510. # 101 "debug.cci"
  511. int CCI_pclLink(int argc, char **argv)
  512. {
  513. int ret;
  514. char *fdl;
  515. char *fn;
  516. char tmp[128];
  517. unsigned int siz;
  518.  
  519. siz = 0;
  520. if ( argc > 1 )
  521. {
  522. sprintf( tmp, "%s.", AplGetStartPath() );
  523. FS_chdrv( toupper(tmp[0]) - 'A' );
  524. FS_chdir( tmp );
  525. fn = argv[1];
  526. if ( argc > 2 )
  527. siz = atoi(argv[2]) * 1024;
  528. ret = (0);
  529. } else
  530. {
  531. if ( (fdl = FDL_open(0)) == (0) )
  532. return ((-1));
  533. FDL_set_title( fdl, "CHILD PROCESS LOADER");
  534. FDL_set_wildcard( fdl, "*.exp");
  535. if ( FDL_start(fdl) == (0) && FS_setFullPathname( tmp, FDL_get_filename(fdl)) == (0) )
  536. {
  537. ret = (0);
  538. fn = tmp;
  539. } else
  540. ret = (-1);
  541. FDL_close(fdl);
  542. }
  543. if ( ret == (0) )
  544. {
  545. if ( siz ==0 )
  546. siz = 1*1024*1024;
  547. ret = AplPclLink( fn, siz );
  548. }
  549. return (ret);
  550. }
  551. # 195 "debug.cci"
  552. int CCI_idlFuncList()
  553. {
  554. AplIdlingFuncList();
  555. return ((0));
  556. }
  557. # 6 "wpaper.cci"
  558. int _wall_setCfg(char *obj, int cfg)
  559. {
  560. char *s;
  561.  
  562. switch( cfg )
  563. { case (0x0000): s = "NORMAL"; break;
  564. case (0x0001): s = "CENTER"; break;
  565. case (0x0002): s = "TILE"; break;
  566. default: s = "???"; break;
  567. }
  568. MNU_setObj(obj, 1, (4), 'D', "Display mode [%s]", s, 1, (0), (0) );
  569. }
  570.  
  571. char *_wall_setFile(char *obj, char *path )
  572. {
  573. int ret;
  574. char *s;
  575. char *fdl;
  576. static char buf[128];
  577.  
  578. if ( (fdl = FDL_open(0)) == (0) )
  579. return (path);
  580. FDL_set_title( fdl,"WallPaper tiff file");
  581. FDL_set_wildcard( fdl, "*.tif");
  582. FDL_set_defaultFilename( fdl, path);
  583. ret = FDL_start(fdl);
  584. s = FDL_get_filename(fdl);
  585. if ( ret == (0) && strlen(s) > 0 )
  586. {
  587. strcpy( buf, s );
  588. path = buf;
  589. MNU_setObj(obj, 0, (4), 'F', "FILE : %s", path , 0, (0), (0) );
  590. }
  591. FDL_close(fdl);
  592. return (path);
  593. }
  594.  
  595. int WallTiff()
  596. {
  597. int ret, cfg, frcol, bkcol;
  598. char *mnu;
  599. char *obj;
  600. char *path;
  601.  
  602. cfg = APL_getWallPaper(1);
  603. frcol = APL_getWallPaper(2) & 15;
  604. bkcol = APL_getWallPaper(3) & 15;
  605. path = APL_getWallPaper(4);
  606.  
  607. obj = MNU_alloc(7);
  608.  
  609. MNU_setObj(obj, 0, (4), 'F', "FILE : %s", path , 0, (0), (0) );
  610. _wall_setCfg(obj,cfg);
  611. MNU_setObj(obj, 2, (0), 0, (0), (0) , 0, (0), (0) );
  612. MNU_setObj(obj, 3, (3), 'F', "前景色  %d", frcol, 2, (0), (0) );
  613. MNU_setObj(obj, 4, (3), 'B', "背景色  %d", bkcol, 3, (0), (0) );
  614. MNU_setObj(obj, 5, (0), 0, (0), (0) , 0, (0), (0) );
  615. MNU_setObj(obj, 6, (2), 'S', "決定", (0) , 4, (0), (0) );
  616.  
  617. mnu = MNU_open( (0x10010), (0x10010), (1), obj, "WallPaper" );
  618. while ( 1 )
  619. { ret = MNU_start ( mnu );
  620. if ( ret < 0 || ret == 4 )
  621. break;
  622. switch( ret )
  623. { case 0:
  624. path = _wall_setFile(obj, path);
  625. break;
  626. case 1:
  627. if ( cfg == (0x0000) )
  628. { cfg = (0x0001);
  629. } else if ( cfg == (0x0001) )
  630. { cfg = (0x0002);
  631. } else if ( cfg == (0x0002) )
  632. { cfg = (0x0000);
  633. }
  634. _wall_setCfg(obj,cfg);
  635. break;
  636. case 2:
  637. if ( (ret = COLSET_dlg(frcol)) >= 0 )
  638. { frcol = ret;
  639. MNU_setObj(obj, 3, (3), 'F', "前景色  %d", frcol, 2, (0), (0) );
  640. }
  641. break;
  642. case 3:
  643. if ( (ret = COLSET_dlg(bkcol)) >= 0 )
  644. { bkcol = ret;
  645. MNU_setObj(obj, 4, (3), 'B', "背景色  %d", bkcol, 3, (0), (0) );
  646. }
  647. break;
  648. }
  649. }
  650. MNU_close(mnu);
  651. MNU_free(obj);
  652. if ( ret == 4 )
  653. { APL_setWallPaper( (0x0010), cfg, frcol,bkcol, path );
  654. }
  655. return ((0));
  656. }
  657. # 127 "wpaper.cci"
  658. int WallColor()
  659. {
  660. int col;
  661.  
  662. col = APL_getWallPaper(3);
  663. col = COLSET_dlg2( col );
  664. if ( col >= 0 )
  665. { APL_setWallPaper( (0x0000), col);
  666. }
  667. MOS_initMoveArea();
  668. return ((0));
  669. }
  670. # 148 "wpaper.cci"
  671. int CCI_setWallPaper(int argc, char **argv)
  672. {
  673. int ret;
  674. char *mnu;
  675. char *obj;
  676.  
  677. obj = MNU_alloc(2);
  678. MNU_setObj(obj, 0, (2), 'C', "Color 色指定", (0), 0, (0), (0) );
  679. MNU_setObj(obj, 1, (2), 'T', "Tiff  ファイル指定", (0), 1, (0), (0) );
  680.  
  681. mnu = MNU_open( (0x10010), (0x10010), (1), obj, "WallPaper" );
  682. ret = MNU_start ( mnu );
  683. MNU_close(mnu);
  684. MNU_free(obj);
  685. switch ( ret )
  686. {
  687. case 0: WallColor(); break;
  688. case 1: WallTiff(); break;
  689. }
  690. return ((0));
  691. }
  692. # 178 "wpaper.cci"
  693. int CCI_setColPtn_1( int argc, char **argv )
  694. {
  695. # 189 "wpaper.cci"
  696. AplCol[0] = 15;
  697. AplCol[1] = 1;
  698. AplCol[2] = 7;
  699. AplCol[3] = 8;
  700. AplCol[4] = 1;
  701. AplCol[5] = 14;
  702. AplCol[6] = 10;
  703. AplCol[7] = 10;
  704. AplCol[8] = 12;
  705. AplCol[9] = 2;
  706. AplCol[10] = 8;
  707. AplCol[11] = 2;
  708. AplCol[12] = 7;
  709. AplCol[13] = 3;
  710. AplCol[14] = 4;
  711. AplCol[15] = 5;
  712. AplCol[16] = 6;
  713. AplCol[17] = 3;
  714.  
  715. AplCol[18] = 9;
  716. AplCol[19] = 10;
  717. AplCol[20] = 11;
  718. AplCol[21] = 12;
  719. AplCol[22] = 13;
  720. AplCol[23] = 14;
  721.  
  722. return ((0));
  723. }
  724. # 2 "expcfg.cci"
  725. int _expSetup_maxibuf ( int maxibuf )
  726. {
  727. int ret, i;
  728. char *dlg;
  729. char buf[16];
  730.  
  731. dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
  732. "-maxibuf 1~64 (%d)", maxibuf );
  733. DLG_getsSetTitle( dlg, "MAXIBUF" );
  734. buf[0] = '\0';
  735. ret = DLG_getsStart( dlg, 15, buf );
  736. if ( ret > 0 )
  737. { i = atoi(buf);
  738. if ( i > 0 && i <= 64 )
  739. maxibuf = i;
  740. }
  741. DLG_getsClose(dlg);
  742. return (maxibuf);
  743. }
  744.  
  745. int _expSetup_nistack ( int nistack )
  746. {
  747. int ret, i;
  748. char *dlg;
  749. char buf[16];
  750.  
  751. dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
  752. "-nistack 1~16 (%d)", nistack );
  753. DLG_getsSetTitle( dlg, "NISTACK" );
  754. buf[0] = '\0';
  755. ret = DLG_getsStart( dlg, 15, buf );
  756. if ( ret > 0 )
  757. { i = atoi(buf);
  758. if ( i > 0 && i <= 16 )
  759. nistack = i;
  760. }
  761. DLG_getsClose(dlg);
  762. return (nistack);
  763. }
  764.  
  765. int _expSetup_istksize ( int istksize )
  766. {
  767. int ret, i;
  768. char *dlg;
  769. char buf[16];
  770.  
  771. dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
  772. "-istksize 1~8 (%d)", istksize );
  773. DLG_getsSetTitle( dlg, "ISTKSIZE" );
  774. buf[0] = '\0';
  775. ret = DLG_getsStart( dlg, 15, buf );
  776. if ( ret > 0 )
  777. { i = atoi(buf);
  778. if ( i > 0 && i <= 8 )
  779. istksize = i;
  780. }
  781. DLG_getsClose(dlg);
  782. return (istksize);
  783. }
  784.  
  785.  
  786.  
  787. int _expSetup_sub( char *obj, int maxibuf, int nistack, int istksize )
  788. {
  789. MNU_setObj(obj, 0, (3), 'M', "-maxibuf  %d" , maxibuf &0xFFFF, 1, (0), (0) );
  790. MNU_setObj(obj, 1, (3), 'K', "-nistack  %d" , nistack &0xFFFF, 2, (0), (0) );
  791. MNU_setObj(obj, 2, (3), 'I', "-istksize %d" , istksize&0xFFFF, 3, (0), (0) );
  792. MNU_setObj(obj, 3, (0), 0 , (0) , (0) , 0, (0), (0) );
  793. MNU_setObj(obj, 4, (2), 'D', " Danger   ちょっと危ない" , (0) , 4, (0), (0) );
  794. MNU_setObj(obj, 5, (2), 'N', " Normal   僕は通信しない" , (0) , 5, (0), (0) );
  795. MNU_setObj(obj, 6, (2), 'S', " Standard 標準設定" , (0) , 6, (0), (0) );
  796. MNU_setObj(obj, 7, (2), 'B', " Bgm      BGM はガンガン" , (0) , 7, (0), (0) );
  797. MNU_setObj(obj, 8, (2), 'A', " Safety   安全設定" , (0) , 8, (0), (0) );
  798. MNU_setObj(obj, 9, (0), 0 , (0) , (0) , 0, (0), (0) );
  799. MNU_setObj(obj,10, (2), 'W', " Write  設定書込" , (0) , 9, (0), (0) );
  800. }
  801.  
  802. int CCI_expSetup(int argc, char **argv )
  803. {
  804. char *fp;
  805. char fn[128], buf[32];
  806. char *fdl;
  807. char *dlg;
  808. char *obj;
  809. char *mnu;
  810. int ret;
  811. unsigned short chk_sum, sum;
  812. unsigned short maxibuf, nistack, istksize;
  813. unsigned short old_maxibuf, old_nistack, old_istksize;
  814. unsigned int dx_ofs;
  815. long ofs;
  816.  
  817. if ( (fdl = FDL_open(0)) == (0) )
  818. return (1);
  819. FDL_set_title( fdl, "EXP プログラムの環境設定");
  820. FDL_set_wildcard( fdl, "*.exp");
  821. ret = FDL_start(fdl);
  822. if ( ret == (0) )
  823. strcpy( fn, FDL_get_filename(fdl));
  824. FDL_close(fdl);
  825. if ( ret != (0) || strlen(fn) == 0 )
  826. return (1);
  827. if ( (fp = FM_fopen(fn,"rb")) == (0) )
  828. {
  829. DLG_tmpMsgTime( (0x10020), (0x10020),
  830. 1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
  831. AplErrMsgTime, " %s : \n    FILE OPEN ERROR!!    ", fn );
  832. return (1);
  833. }
  834. dlg = DLG_msgOpen( (0x10030), (0x10030),
  835. 6*48,12*14, 1, 3, (0x1000|(((12)&15)<<4)|((7)&15)),
  836. "EXP HEADER INFORMATION");
  837. if ( dlg == (0) )
  838. return ((-1));
  839. DLG_msgSetConfig( dlg, 4, 6, 12 );
  840. DLG_msgClear( dlg, 15 );
  841.  
  842. DLG_msgPrintf(dlg,"FILE : %s\r\n", fn );
  843. DLG_msgPrintf(dlg,"\tcheck header" );
  844. fseek( fp, 0, (0));
  845. fread( buf, 2, 1, fp );
  846. if ( buf[0] != 'P' || buf[1] != '3' )
  847. {
  848. DLG_tmpMsgTime( (0x10020), (0x10020),
  849. 1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
  850. AplErrMsgTime, " %s : \n    P3形式のプログラムではありません。 ", fn );
  851. DLG_msgClose(dlg);
  852. return (1);
  853. }
  854. DLG_msgPrintf(dlg,"\tOk!!\r\n" );
  855.  
  856.  
  857. fseek(fp,0x0A,(0));
  858. fread( &chk_sum, 2, 1, fp );
  859. DLG_msgPrintf(dlg,"\tcheck sum\t\t$%04X\r\n", chk_sum & 0xFFFF );
  860.  
  861.  
  862. fseek( fp, 0x0C, (0));
  863. fread( &dx_ofs, 4, 1, fp );
  864. DLG_msgPrintf(dlg,"\tDX part offset\t$%08X\r\n", dx_ofs );
  865.  
  866.  
  867. ofs = dx_ofs + 0x08;
  868. fseek(fp,ofs,(0));
  869. fread( &maxibuf, 2, 1, fp );
  870. DLG_msgPrintf(dlg,"\t-maxibuf\t%d\r\n", maxibuf );
  871.  
  872.  
  873. ofs = dx_ofs + 0x0A;
  874. fseek(fp,ofs,(0));
  875. fread( &nistack, 2, 1, fp );
  876. DLG_msgPrintf(dlg,"\t-nistack\t%d\r\n", nistack );
  877.  
  878.  
  879. ofs = dx_ofs + 0x0C;
  880. fseek(fp,ofs,(0));
  881. fread( &istksize, 2, 1, fp );
  882. DLG_msgPrintf(dlg,"\t-istksize\t%d\r\n", istksize );
  883.  
  884. FM_fclose(fp);
  885. DLG_msgPrintf(dlg,"file close\r\n" );
  886.  
  887. old_maxibuf = maxibuf ;
  888. old_nistack = nistack ;
  889. old_istksize = istksize;
  890.  
  891. obj = MNU_alloc( 11 );
  892. _expSetup_sub( obj, maxibuf, nistack, istksize );
  893.  
  894. mnu = MNU_open( (0x10010), (0x10010), (1), obj, "設定" );
  895. while ( 1 )
  896. { ret = MNU_start ( mnu );
  897. if ( ret < 0 || ret == 9 )
  898. break;
  899. switch ( ret )
  900. { case 1: maxibuf = _expSetup_maxibuf ( maxibuf ); break;
  901. case 2: nistack = _expSetup_nistack ( nistack ); break;
  902. case 3: istksize = _expSetup_istksize( istksize ); break;
  903. case 4: maxibuf = 64; nistack = 4; istksize = 2; break;
  904. case 5: maxibuf = 64; nistack = 6; istksize = 2; break;
  905. case 6: maxibuf = 64; nistack = 7; istksize = 2; break;
  906. case 7: maxibuf = 64; nistack = 8; istksize = 2; break;
  907. case 8: maxibuf = 64; nistack = 8; istksize = 4; break;
  908. }
  909. _expSetup_sub( obj, maxibuf, nistack, istksize );
  910. }
  911. MNU_close(mnu);
  912. MNU_free(obj);
  913. if ( ret < 0 )
  914. { DLG_msgClose(dlg);
  915. return (1);
  916. }
  917. DLG_msgPrintf(dlg,"\r\n" );
  918. DLG_msgPrintf(dlg,"\tNew -maxibuf \t%d\tOld %d\r\n" , maxibuf , old_maxibuf );
  919. DLG_msgPrintf(dlg,"\tNew -nistack \t%d\tOld %d\r\n" , nistack , old_nistack );
  920. DLG_msgPrintf(dlg,"\tNew -istksize\t%d\tOld %d\r\n" , istksize, old_istksize );
  921.  
  922. sum = chk_sum;
  923. sum = (sum + (maxibuf - old_maxibuf )) & 0xFFFF;
  924. sum = (sum + (nistack - old_nistack )) & 0xFFFF;
  925. sum = (sum + (istksize - old_istksize)) & 0xFFFF;
  926. DLG_msgPrintf(dlg,"\tNew check sum\t%$%04X\tOld $%04X\r\n", sum, chk_sum );
  927.  
  928. ret = MNU_sure ( (0x10030), (0x10030),
  929. 1, 3, (0x1000|(((12)&15)<<4)|((7)&15)), (0),
  930. "    この設定に変更します。  " );
  931. if ( ret != (1) )
  932. { DLG_msgClose(dlg);
  933. return ((-1));
  934. }
  935.  
  936. if ( (fp = FM_fopen(fn,"r+b")) == (0) )
  937. {
  938. DLG_tmpMsgTime( (0x10020), (0x10020),
  939. 1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
  940. AplErrMsgTime, " %s : \n    FILE OPEN ERROR!!    ", fn );
  941. DLG_msgClose(dlg);
  942. return (1);
  943. }
  944.  
  945.  
  946. ofs = dx_ofs + 0x08;
  947. fseek(fp,ofs,(0));
  948. fwrite( &maxibuf, 2, 1, fp );
  949.  
  950.  
  951. ofs = dx_ofs + 0x0A;
  952. fseek(fp,ofs,(0));
  953. fwrite( &nistack, 2, 1, fp );
  954.  
  955.  
  956. ofs = dx_ofs + 0x0C;
  957. fseek(fp,ofs,(0));
  958. fwrite( &istksize, 2, 1, fp );
  959.  
  960.  
  961. ofs = 0x0A;
  962. fseek(fp,ofs,(0));
  963. fwrite( &sum, 2, 1, fp );
  964. FM_fclose(fp);
  965. DLG_msgPrintf(dlg,"\r\n***** Completed *****\r" );
  966.  
  967. DLG_tmpMsgTime( (0x10030), (0x10030),
  968. 1, 3, (0x1000|(((5)&15)<<4)|((7)&15)),
  969. 4, " %s : \n    プログラムを書き換えました。    \n    再起動してください。  ", fn );
  970.  
  971. DLG_msgClose(dlg);
  972. return (0);
  973. }
  974. # 56 "main.cci"
  975. char *WildCardTbl[11] =
  976. {
  977. "*.*" ,
  978. "*.asm",
  979. "*.bgm",
  980. "*.c" ,
  981. "*.cci",
  982. "*.doc",
  983. "*.eup",
  984. "*.h" ,
  985. "*.mid",
  986. "*.mml",
  987. "*.txt"
  988. };
  989. # 75 "main.cci"
  990. int AfmSetup()
  991. {
  992. int i;
  993. char comspec[128], *s;
  994. char *console;
  995.  
  996. if ( (s = getenv("COMSPEC")) == (0) )
  997. strcpy( comspec, "C:\\COMMAND.COM /C" );
  998. else
  999. sprintf( comspec,"%s /C", s );
  1000. console = "oricon";
  1001.  
  1002. Afm_setRunFile(0,".exe" , (4), (0), "","");
  1003. Afm_setRunFile(0,".com" , (4), (0), "","");
  1004. Afm_setRunFile(0,".bat" , (4), (0), "","");
  1005.  
  1006. Afm_setRunFile(0,"miel.com" , (4), (0), console, comspec);
  1007. Afm_setRunFile(0,"mipp.exe" , (4), (0), console, comspec);
  1008. Afm_setRunFile(0,"setup.exe" , (4), (0), console, comspec);
  1009.  
  1010. Afm_setRunFile(0,"makefile" , (4), (0), "make" ,"");
  1011. Afm_setRunFile(0,".lzh" , (4), (0), "LHa" ,"l");
  1012. Afm_setRunFile(0,".ish" , (4), (0), "ish" ,"% /r");
  1013. # 108 "main.cci"
  1014. Afm_setRunFile(0,".doc" , (2), (1101), "-rightMargin  80 -tab 2 -tabSpace ON -dspKS ON");
  1015. Afm_setRunFile(0,".txt" , (2), (1101), "-rightMargin  80 -tab 2 -tabSpace ON -dspKS ON");
  1016. Afm_setRunFile(0,".c" , (2), (1101), "-rightMargin 256 -autoIndent ON -tab 4 -dspKS ON");
  1017. Afm_setRunFile(0,".cci" , (2), (1101), "-rightMargin 256 -autoIndent ON -tab 4 -dspKS ON");
  1018. Afm_setRunFile(0,".h" , (2), (1101), "-rightMargin 256 -autoIndent ON -tab 4 -dspKS ON");
  1019. Afm_setRunFile(0,".asm" , (2), (1101), "-rightMargin 256 -autoIndent ON -tab 8 -dspKS ON");
  1020.  
  1021.  
  1022. Afm_setRunFile(0,".tbi" , (2), (1110) , "");
  1023.  
  1024. Afm_setRunFile(0,".tif" , (2), (1202) , "");
  1025.  
  1026. Afm_setRunFile(0,".snd" , (3), "CCI_sndPlay", "");
  1027. Afm_setRunFile(0,".bgm" , (3), "CCI_bgmPlay" , "");
  1028. Afm_setRunFile(0,".eup" , (3), "CCI_midPlay" , "");
  1029. Afm_setRunFile(0,".mid" , (3), "CCI_midPlay" , "");
  1030.  
  1031. Afm_setRunFile(0,".kbl" , (3), "CCI_loadKbl", "");
  1032. Afm_setRunFile(0,".rpl" , (3), "CCI_loadRpl", "");
  1033. # 138 "main.cci"
  1034. for ( i = 0 ; i < 11; ++i )
  1035. FdlSetWildCardList( WildCardTbl[i] );
  1036. }
  1037. # 149 "main.cci"
  1038. int HEWIN_start(int argc, char **argv)
  1039. {
  1040. int i, kan, kan_md;
  1041. char tmp[256], *s;
  1042.  
  1043. if ( (SysMacro = AMAC_allocWork(0)) != (0) )
  1044. {
  1045. sprintf( tmp, "%s%s", AplGetStartPath(), SYSMACRO_FN );
  1046. AMAC_load( SysMacro, tmp );
  1047. GetAsciiTime( tmp, time((0)) );
  1048. AMAC_setKey( SysMacro, "Startup_time", tmp );
  1049. }
  1050. AfmSetup();
  1051. # 166 "main.cci"
  1052. for ( i = 0; i < argc ; ++i )
  1053. {
  1054. s = argv[i];
  1055. if ( strcmpi( s, "-fep_roumaji") == 0 )
  1056. {
  1057. kan = KBF_kan_getMode();
  1058. if ( kan < 0 )
  1059. {
  1060. KBF_kan_on();
  1061. kan_md = KBF_kan_getMode();
  1062. } else
  1063. kan_md = kan;
  1064. if ( kan_md >= 0 )
  1065. {
  1066. kan_md = (kan_md & 0xFFFFFF0F) | 0x00000020;
  1067. KBF_kan_setMode( kan_md );
  1068. if ( kan < 0 )
  1069. KBF_kan_off();
  1070. }
  1071. }
  1072. }
  1073. return ((0));
  1074. }
  1075. # 194 "main.cci"
  1076. int HEWIN_term(int saveFlag)
  1077. {
  1078. char tmp[256];
  1079. # 201 "main.cci"
  1080. if ( SysMacro )
  1081. {
  1082. GetAsciiTime( tmp, time((0)) );
  1083. AMAC_setKey( SysMacro, "Exit_time", tmp );
  1084.  
  1085. sprintf( tmp, "%s%s", AplGetStartPath(), SYSMACRO_FN );
  1086. AMAC_save( SysMacro, tmp, "System macro" );
  1087. }
  1088. return (0);
  1089. }
  1090. # 218 "main.cci"
  1091. int AslUsr_setStartItem()
  1092. {
  1093.  
  1094. Asl_setDefCciItem("CCI_textViewer" ,"☆読んでネ","message.doc");
  1095. Asl_setDefCciItem("CCI_textViewer" ,"説明" ,"hewin.doc");
  1096. Asl_setDefCciItem("CCI_setWallPaper" ,"壁紙" ,"");
  1097. Asl_setDefCciItem("CCI_sidework" ,"SideWork" ,"");
  1098. Asl_setDefCciItem("CCI_sndPlay" ,"SND-PLAY" ,"");
  1099. Asl_setDefCciItem("CCI_expSetup" ,"EXP SETUP" ,"");
  1100. # 232 "main.cci"
  1101. return ((0));
  1102. }
  1103. # 5 "he386.cci"
  1104. char *_he386p_ = "he386p.exp";
  1105.  
  1106. char HE386_CCIPATH_KEY[16] = {'H','e','3','8','6','_','c','c','i','p','a','t','h','\0'};
  1107. char he386_ccipath[256] = {0};
  1108. char he386_option[256] = {0};
  1109.  
  1110. int he386_compile( char *pn )
  1111. {
  1112. int ret, drv;
  1113. char tmp[256], fn[256];
  1114.  
  1115.  
  1116. drv = toupper(pn[0]) - 'A';
  1117. FS_chdrv(drv);
  1118. FS_getDnamPath(tmp,pn);
  1119. FS_chdir(tmp);
  1120.  
  1121.  
  1122. AplDtaInit();
  1123. if ( he386_ccipath[0] )
  1124. sprintf( tmp, "-cciPath %s", he386_ccipath);
  1125. else
  1126. tmp[0] = '\0';
  1127. AplDtaSetStr( "$MainArg", "%s %s %s %s", _he386p_, he386_option, tmp, pn );
  1128.  
  1129. ret = AplPclExec( _he386p_, 0 );
  1130.  
  1131. FS_getFnam(fn,pn);
  1132. FS_appendSnam( fn, fn, ".mid" );
  1133. if ( FS_isFileExist(fn) > 0 )
  1134. MID_playStart( fn );
  1135.  
  1136. return ((0));
  1137. }
  1138.  
  1139. int he386_menu( char *pn )
  1140. {
  1141. int ret;
  1142. char tmp[256];
  1143. char *dlg;
  1144. char *mnu;
  1145. char *obj;
  1146. char *p;
  1147.  
  1148. if ( pn[0] == '\0' )
  1149. return ((0));
  1150. if ( (p = AMAC_getName(SysMacro,HE386_CCIPATH_KEY)) == (0) )
  1151. {
  1152. p = AplGetStartPath();
  1153. sprintf( he386_ccipath,"%c:/USR/HE386", *p );
  1154. AMAC_setKey( SysMacro,HE386_CCIPATH_KEY,he386_ccipath);
  1155. } else
  1156. {
  1157. strcpy( he386_ccipath, p );
  1158. }
  1159.  
  1160. obj = MNU_alloc(4);
  1161. MNU_setObj(obj, 0, (2), 'O', "Option" , (0), 1, (0), (0));
  1162. MNU_setObj(obj, 1, (2), 'P', "CCI Path" , (0), 2, (0), (0));
  1163. MNU_setObj(obj, 2, (0), 0 , (0) , (0), 3, (0), (0));
  1164. MNU_setObj(obj, 3, (2), 'C', "Compile (normal)", (0), 4, (0), (0));
  1165.  
  1166. mnu = MNU_open( (0x10010), (0x10010), (1),
  1167. obj, "MML Compile" );
  1168.  
  1169. for(;;)
  1170. {
  1171. ret = MNU_start ( mnu );
  1172. switch ( ret )
  1173. {
  1174. case 1:
  1175. dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
  1176. "HE386 のオプションパラメータを入力してください。");
  1177. DLG_getsSetTitle( dlg, "MML Compiler option parameter" );
  1178. strcpy( tmp, he386_option);
  1179. ret = DLG_getsStart( dlg, 255, tmp );
  1180. if ( ret >= 0 )
  1181. strcpy( he386_option, tmp );
  1182. DLG_getsClose(dlg);
  1183. break;
  1184.  
  1185. case 2:
  1186. dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
  1187. "HE386.CCI 格納パス名を入力してください。");
  1188. DLG_getsSetTitle( dlg, "MML compile cci path" );
  1189. strcpy( tmp, he386_ccipath);
  1190. ret = DLG_getsStart( dlg, 255, tmp );
  1191. if ( ret > 0 )
  1192. {
  1193. strcpy( he386_ccipath, tmp );
  1194. AMAC_setKey( SysMacro,HE386_CCIPATH_KEY,he386_ccipath);
  1195. }
  1196. DLG_getsClose(dlg);
  1197. break;
  1198.  
  1199. case 4:
  1200. he386_compile( pn );
  1201. goto _RET;
  1202. default:
  1203. goto _RET;
  1204. }
  1205. }
  1206.  
  1207. _RET:
  1208. MNU_close(mnu);
  1209. MNU_free(obj);
  1210. return ((0));
  1211. }
  1212. # 11 "prs.cci"
  1213. int PRS_start(int typ)
  1214. {
  1215. return ((0));
  1216. }
  1217. # 22 "prs.cci"
  1218. int PRS_end()
  1219. {
  1220. return ((0));
  1221. }
  1222. # 10 "tdp.cci"
  1223. char *TdpTbl_metakey[26] =
  1224. {
  1225. "$swave(cmd,note,len,Tn,wn,&,x,sp,ep,sin,a,ang,spdofs,aofs,sub)",
  1226. "$cho(note,len,n,x,sp,ep)",
  1227. "continue",
  1228. "#define\\t",
  1229. "#endif",
  1230. "fprintf(\x22",
  1231. "fgets(buf,len,fp);",
  1232. ".mmltype\\tfb386\\n.fm\\t\\t\\tfmtone2\\n.pcm\\t\\tensam01\\n",
  1233. "#include\\t",
  1234. "#ifdef\\n#\\tdefine\\tEXT\\n#else\\n#\\tdefine\\tEXT\\textern\\n#endif\\n",
  1235. "iskanji\x28",
  1236.  
  1237.  
  1238.  
  1239. "/*************************************************************************\\n*\\n*************************************************************************/\\n",
  1240.  
  1241. "void\\tmain(int argc,char *argv[])\\n{\\t",
  1242. "NORMAL",
  1243. "if ( (fp = fopen(filename,\x22rb\x22))==NULL )\\n",
  1244. "printf(\x22",
  1245. "exit();",
  1246. "return",
  1247. "$slide(cmd,note,len,n,&,x,sp,ep)",
  1248. "typedef",
  1249. "unsigned",
  1250. "$vib(note,len,n,sin,sp,a,spd,ang)",
  1251. "$wave(cmd,note,len,n,&,sin,sp,a,spd,ang)",
  1252. "FALSE",
  1253. "TRUE",
  1254. "register"
  1255. };
  1256. # 48 "tdp.cci"
  1257. int TdpUsr_sysInit()
  1258. {
  1259. int i;
  1260. # 56 "tdp.cci"
  1261. Apl_stdWinSizeSet( (1101), (2+ 4+(6*80)+20+2), (358-12*3) );
  1262.  
  1263. for ( i = 0; i < 26; ++i )
  1264. TdpMetaKeySet( 'A'+i, TdpTbl_metakey[i]);
  1265.  
  1266. return ((0));
  1267. }
  1268.  
  1269. int TdpUsr_sysTerm()
  1270. {
  1271. return ((0));
  1272. }
  1273. # 75 "tdp.cci"
  1274. int TdpUsr_openFunc( char *tdp )
  1275. {
  1276. char *txd;
  1277. # 88 "tdp.cci"
  1278. txd = TdpGetTxdPtr(tdp);
  1279. TXD_cstSetKey( txd, (0x04)|(0x10)|0x4800 , (241), 0, "dup_line");
  1280. TXD_cstSetKey( txd, (0x10)|0x1D00, (241), 0, "template");
  1281.  
  1282. TXD_cstSetPfxKey( txd, (0x10)|0x1100 , 0x1200, (241), 0, "word_help");
  1283. TXD_cstSetPfxKey( txd, (0x10)|0x2500 , 0x1200, (241), 0, "cut_word");
  1284. TXD_cstSetPfxKey( txd, (0x04)|(0x10)|0x2400 , 0x1700, (241), 0, "undo_info");
  1285. TXD_cstSetPfxKey( txd, (0x04)|(0x10)|0x2400 , 0x2C00, (241), 0, "clear_undo_buffer");
  1286.  
  1287. TXD_cstSetPfxKey( txd, (0x04)|(0x10)|0x3000, 0x1500, (241), 0, "mml_toneGen");
  1288.  
  1289. TXD_cstSetPfxKey( txd, 0x0100, 0x0B00, (241), 0, "jump_mark_0");
  1290. TXD_cstSetPfxKey( txd, 0x0100, 0x0200, (241), 0, "jump_mark_1");
  1291. TXD_cstSetPfxKey( txd, 0x0100, 0x0300, (241), 0, "jump_mark_2");
  1292. TXD_cstSetPfxKey( txd, 0x0100, 0x0400, (241), 0, "jump_mark_3");
  1293. TXD_cstSetPfxKey( txd, 0x0100, 0x0500, (241), 0, "jump_mark_4");
  1294. TXD_cstSetPfxKey( txd, 0x0100, 0x0600, (241), 0, "jump_mark_5");
  1295. TXD_cstSetPfxKey( txd, 0x0100, 0x0700, (241), 0, "jump_mark_6");
  1296. TXD_cstSetPfxKey( txd, 0x0100, 0x0800, (241), 0, "jump_mark_7");
  1297. TXD_cstSetPfxKey( txd, 0x0100, 0x0900, (241), 0, "jump_mark_8");
  1298. TXD_cstSetPfxKey( txd, 0x0100, 0x0A00, (241), 0, "jump_mark_9");
  1299.  
  1300. return ((0));
  1301.  
  1302.  
  1303. }
  1304. # 119 "tdp.cci"
  1305. int TdpUsr_saveFunc( char *tdp, char *fn )
  1306. {
  1307. return ((0));
  1308. }
  1309. # 128 "tdp.cci"
  1310. int TdpUsr_quitFunc( char *tdp )
  1311. {
  1312. return ((0));
  1313. }
  1314. # 138 "tdp.cci"
  1315. int tdpUsr_evtFunc( int evtNo, char *sbj )
  1316. {
  1317. return TDP_cmdJump( GetEvtSbjPtr(sbj), evtNo );
  1318. }
  1319. # 147 "tdp.cci"
  1320. int TdpUsr_setPathname( char *tdp, char *pn )
  1321. {
  1322. return ((0));
  1323. }
  1324.  
  1325. int TDP_menu_1( char *tdp, int x, int y )
  1326. {
  1327. int ret;
  1328. char *mnu;
  1329. char *obj;
  1330. char *func;
  1331.  
  1332. func = "tdpUsr_evtFunc";
  1333. obj = MNU_alloc(11);
  1334. MNU_setObj(obj, 0, (2), 'O', "File Open", (0), (1101) ,func, tdp );
  1335. MNU_setObj(obj, 1, (2), 'C', "File Close", (0), (1102) ,func, tdp );
  1336. MNU_setObj(obj, 2, (0), 0, (0), (0), 0, (0), (0));
  1337. MNU_setObj(obj, 3, (2), 'W', "Write file", (0), (1104) ,func, tdp );
  1338. MNU_setObj(obj, 4, (2), 'R', "Read file", (0), (1103) ,func, tdp );
  1339. MNU_setObj(obj, 5, (2), 'U', "Update file", (0), (1105) ,func, tdp );
  1340. MNU_setObj(obj, 6, (2), 'F', "Change Filename", (0), (1106) ,func, tdp );
  1341. MNU_setObj(obj, 7, (2), 'E', "Edit original", (0), (1107),func, tdp );
  1342. MNU_setObj(obj, 8, (0), 0, (0), (0), 0, (0), (0));
  1343. MNU_setObj(obj, 9, (2), 'P', "UPdate all", (0), (1110) ,func, tdp );
  1344. MNU_setObj(obj,10, (2), 'N', "New window", (0), (1108) ,func, tdp );
  1345.  
  1346. mnu = MNU_open( x, y, (1), obj, "MENU1 (FILE)" );
  1347. ret = MNU_start ( mnu );
  1348. MNU_close(mnu);
  1349. MNU_free(obj);
  1350.  
  1351. return (ret);
  1352. }
  1353. # 185 "tdp.cci"
  1354. int tdp_evt_jump( int evtNo, char *sbj )
  1355. {
  1356. char *tdp;
  1357. char *txd;
  1358. char *dlg;
  1359. int ret, ln;
  1360. char buf[16];
  1361.  
  1362. tdp = GetEvtSbjPtr(sbj);
  1363. dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
  1364. "行番号を入力してください。");
  1365. DLG_getsSetTitle( dlg, "JUMP" );
  1366. buf[0] = '\0';
  1367. ret = DLG_getsStart( dlg, 15, buf );
  1368. if ( ret > 0 && (ln = atoi(buf)) > 0 )
  1369. {
  1370. txd = TdpGetTxdPtr(tdp);
  1371. TXD_jumpLine( txd, ln - 1 );
  1372. }
  1373. DLG_getsClose(dlg);
  1374. return (0);
  1375. }
  1376. # 212 "tdp.cci"
  1377. int _tdpSetRplPtn( int evtNo, char *sbj )
  1378. {
  1379. char *tdp;
  1380. char *txd;
  1381. char buf[256];
  1382.  
  1383. tdp = GetEvtSbjPtr(sbj);
  1384. txd = TdpGetTxdPtr(tdp);
  1385. memset( buf, 0, 256);
  1386. if ( TXD_getCutBuf(txd,buf,256) >= 0 )
  1387. TXD_setReplacePtn( txd, buf );
  1388.  
  1389. return (evtNo);
  1390. }
  1391. # 231 "tdp.cci"
  1392. int _tdpSetRplStr( int evtNo, char *sbj )
  1393. {
  1394. char *tdp;
  1395. char *txd;
  1396. char buf[256];
  1397.  
  1398. tdp = GetEvtSbjPtr(sbj);
  1399. txd = TdpGetTxdPtr(tdp);
  1400. memset( buf, 0, 256);
  1401. if ( TXD_getCutBuf(txd,buf,256) >= 0 )
  1402. TXD_setReplaceStr( txd, buf );
  1403.  
  1404. return (evtNo);
  1405. }
  1406. # 250 "tdp.cci"
  1407. int _tdpSetSearch( int evtNo, char *sbj )
  1408. {
  1409. char *tdp;
  1410. char *txd;
  1411. int len;
  1412. char buf[256];
  1413.  
  1414. tdp = GetEvtSbjPtr(sbj);
  1415. txd = TdpGetTxdPtr(tdp);
  1416. if ( (len = TXD_getCutBuf(txd,buf,256)) >= 0 )
  1417. TXD_setSearchPtn( txd, buf, len );
  1418.  
  1419. return (evtNo);
  1420. }
  1421. # 269 "tdp.cci"
  1422. int TDP_menu_2( char *tdp, int x, int y )
  1423. {
  1424. int ret;
  1425. char *mnu;
  1426. char *obj;
  1427.  
  1428. obj = MNU_alloc(13);
  1429. MNU_setObj(obj, 0, (2), 'F', "Find & jump", (0), (184) , (0), tdp );
  1430. MNU_setObj(obj, 1, (2), 'S', "Search", (0), (180) , (0), tdp );
  1431. MNU_setObj(obj, 2, (2), 'R', "Replace", (0), (190) , (0), tdp );
  1432. MNU_setObj(obj, 3, (2), 'A', "Multi replace All", (0), (191) , (0), tdp );
  1433. MNU_setObj(obj, 4, (2), '1', "Set repalce pattern", (0), 0, "_tdpSetRplPtn", tdp );
  1434. MNU_setObj(obj, 5, (2), '2', "Set repalce strings", (0), 0, "_tdpSetRplStr", tdp );
  1435. MNU_setObj(obj, 6, (2), '3', "Set search pattern", (0), 0, "_tdpSetSearch", tdp );
  1436. MNU_setObj(obj, 7, (0), 0, (0), (0), 0, (0), (0));
  1437. MNU_setObj(obj, 8, (2), 'J', "Jump", (0), 0, "tdp_evt_jump" , tdp );
  1438. MNU_setObj(obj, 9, (2), 'T', "Top of text", (0), (97) , (0), tdp );
  1439. MNU_setObj(obj,10, (2), 'B', "Bottom of text", (0), (98) , (0), tdp );
  1440. MNU_setObj(obj,11, (2), 'L', "Last touch", (0), (99) , (0), tdp );
  1441. MNU_setObj(obj,12, (2), 'M', "Mark", (0), (1201) , (0), tdp );
  1442.  
  1443. mnu = MNU_open( x, y, (1), obj, "MENU2 (EDIT)" );
  1444. ret = MNU_start ( mnu );
  1445. MNU_close(mnu);
  1446. MNU_free(obj);
  1447.  
  1448. if ( ret > 0 )
  1449. return TDP_cmdJump(tdp,ret);
  1450. else
  1451. return (ret);
  1452. }
  1453. # 305 "tdp.cci"
  1454. int TDP_menu_3( char *tdp, int x, int y )
  1455. {
  1456. int ret;
  1457. char *mnu;
  1458. char *obj;
  1459. char *txd;
  1460. int md;
  1461. unsigned int u[4];
  1462. char undoMsg[80], redoMsg[80];
  1463.  
  1464. txd = TdpGetTxdPtr(tdp);
  1465.  
  1466. obj = MNU_alloc(12);
  1467. if ( TXD_getUndoInfo( txd, u ) == (0) && u[3] > 0 )
  1468. {
  1469. md = (2);
  1470. sprintf( undoMsg, "Undo (%4d)", u[3] );
  1471. } else
  1472. {
  1473. md = (2) | (0x80);
  1474. strcpy( undoMsg, "Undo");
  1475. }
  1476. MNU_setObj(obj, 0, md, 'U', undoMsg , (0), (141), (0), tdp );
  1477.  
  1478. if ( TXD_getRedoInfo( txd, u ) == (0) && u[3] > 0 )
  1479. {
  1480. md = (2);
  1481. sprintf( redoMsg, "Redo (%4d)", u[3] );
  1482. } else
  1483. {
  1484. md = (2) | (0x80);
  1485. strcpy( redoMsg, "Redo");
  1486. }
  1487. MNU_setObj(obj, 1, md, 'R', redoMsg, (0), (142), (0), tdp );
  1488.  
  1489. MNU_setObj(obj, 2, (0), 0, (0), (0), 0 , (0), (0));
  1490.  
  1491. MNU_setObj(obj, 3, (2), '1', "Split 1 left/right", (0), (1310), (0), tdp );
  1492. MNU_setObj(obj, 4, (2), '2', "Split 2 up/down", (0), (1320), (0), tdp );
  1493. MNU_setObj(obj, 5, (0), 0, (0), (0), 0, (0), (0));
  1494. MNU_setObj(obj, 6, (2), 'P', "Print CUT-BUFFER", (0), (1304), (0), tdp );
  1495. MNU_setObj(obj, 7, (2), 'T', "Text printout", (0), (1330) , (0), tdp );
  1496. MNU_setObj(obj, 8, (0), 0, (0), (0), 0, (0), (0));
  1497. MNU_setObj(obj, 9, (2), 'C', "Calculator", (0), (3041), (0), tdp );
  1498. MNU_setObj(obj,10, (2), 'A', "Ascii code list", (0), (1301), (0), tdp );
  1499. MNU_setObj(obj,11, (2), 'K', "Kanji code list", (0), (1302), (0), tdp );
  1500.  
  1501. mnu = MNU_open( x, y, (1), obj, "MENU3 (UTILITY)" );
  1502. ret = MNU_start ( mnu );
  1503. MNU_close(mnu);
  1504. MNU_free(obj);
  1505.  
  1506. if ( ret > 0 )
  1507. return TDP_cmdJump(tdp,ret);
  1508. else
  1509. return (ret);
  1510. }
  1511. # 399 "tdp.cci"
  1512. int _tdpSaveSetup( int evtNo, char *sbj )
  1513. {
  1514. char *tdp;
  1515. char *txd;
  1516. char *fdl;
  1517. int ret;
  1518. char tmp[128], *fn;
  1519.  
  1520. tdp = GetEvtSbjPtr(sbj);
  1521. txd = TdpGetTxdPtr(tdp);
  1522.  
  1523. if ( (fdl = FDL_open(0)) == (0) )
  1524. return ((-1));
  1525. FDL_set_title( fdl,"SAVE SETUP");
  1526. FDL_set_wildcard( fdl, "*.kst" );
  1527. ret = FDL_start(fdl);
  1528. fn = FDL_get_filename(fdl);
  1529. if ( ret != (0) || strlen(fn) == 0 )
  1530. {
  1531. FDL_close(fdl);
  1532. return ((-1));
  1533. }
  1534. FS_appendSnam( tmp, fn, ".kst" );
  1535. TDP_saveKeySetup(tdp,tmp);
  1536. FDL_close(fdl);
  1537.  
  1538. return ((0));
  1539. }
  1540.  
  1541.  
  1542. int _tdpLoadSetup( int evtNo, char *sbj )
  1543. {
  1544. char *tdp;
  1545. char *txd;
  1546. char *fdl;
  1547. int ret;
  1548. char tmp[128], *fn;
  1549.  
  1550. tdp = GetEvtSbjPtr(sbj);
  1551. txd = TdpGetTxdPtr(tdp);
  1552.  
  1553. if ( (fdl = FDL_open(0)) == (0) )
  1554. return ((-1));
  1555. FDL_set_title( fdl,"LOAD SETUP");
  1556. FDL_set_wildcard( fdl, "*.kst" );
  1557. ret = FDL_start(fdl);
  1558. fn = FDL_get_filename(fdl);
  1559. if ( ret != (0) || strlen(fn) == 0 )
  1560. {
  1561. FDL_close(fdl);
  1562. return ((-1));
  1563. }
  1564. FS_appendSnam( tmp, fn, ".kst" );
  1565. TDP_loadKeySetup(tdp,tmp);
  1566. FDL_close(fdl);
  1567.  
  1568. return ((0));
  1569. }
  1570.  
  1571. int _tdpCallHE386( int evtNo, char *sbj )
  1572. {
  1573. char *tdp;
  1574. char *pn;
  1575.  
  1576. tdp = GetEvtSbjPtr(sbj);
  1577. pn = ((tdp)+(28));
  1578. he386_menu( pn );
  1579.  
  1580. return ((0));
  1581. }
  1582. # 474 "tdp.cci"
  1583. int TDP_menu_4( char *tdp, int x, int y )
  1584. {
  1585. int ret;
  1586. char *mnu;
  1587. char *obj;
  1588.  
  1589.  
  1590. obj = MNU_alloc(7);
  1591. MNU_setObj(obj, 0, (2), 'A', "Alphabet buffer" , (0), (3000) , (0) , tdp );
  1592. MNU_setObj(obj, 1, (2), 'S', "Save key setup data", (0), 0 , "_tdpSaveSetup" , tdp );
  1593. MNU_setObj(obj, 2, (2), 'L', "Load key setup data", (0), 0 , "_tdpLoadSetup" , tdp );
  1594. MNU_setObj(obj, 3, (0), 0 , (0) , (0), 0 , (0) , (0));
  1595. MNU_setObj(obj, 4, (2), 'U', "Upload" , (0), (2601) , (0) , tdp );
  1596. MNU_setObj(obj, 5, (0), 0 , (0) , (0), 0 , (0) , (0));
  1597. MNU_setObj(obj, 6, (2), 'M', "MML Compile" , (0), 0 , "_tdpCallHE386" , tdp );
  1598. # 498 "tdp.cci"
  1599. mnu = MNU_open( x, y, (1), obj, "MENU4 (OTHER)" );
  1600. ret = MNU_start ( mnu );
  1601. MNU_close(mnu);
  1602. MNU_free(obj);
  1603.  
  1604. if ( ret > 0 )
  1605. return TDP_cmdJump(tdp,ret);
  1606. else
  1607. return (ret);
  1608. }
  1609. # 517 "tdp.cci"
  1610. int CCI_loadKbl( int argc, char **argv )
  1611. {
  1612. if ( argc > 1 )
  1613. {
  1614. DLG_tmpMsgTime( (0x10020), (0x10020),
  1615. 1, 3, (0x1000|(((5)&15)<<4)|((7)&15)),
  1616. 2, "%s : \n  Load alphabet buffer  ", argv[1] );
  1617. TDP_loadAlBuf((0), argv[1]);
  1618. }
  1619. return ((0));
  1620. }
  1621. # 536 "tdp.cci"
  1622. int CCI_loadRpl( int argc, char **argv )
  1623. {
  1624. if ( argc > 1 )
  1625. {
  1626. DLG_tmpMsgTime( (0x10020), (0x10020),
  1627. 1, 3, (0x1000|(((5)&15)<<4)|((7)&15)),
  1628. 2, "%s : \n  Load multi replace data  ", argv[1] );
  1629. TXD_loadRplBuf( argv[1] );
  1630. }
  1631. return ((0));
  1632. }
  1633.  
  1634. int TDP_menu_5( char *tdp ) { return ((-1)); }
  1635. int TDP_menu_6( char *tdp ) { return ((-1)); }
  1636. int TDP_menu_7( char *tdp ) { return ((-1)); }
  1637. int TDP_menu_8( char *tdp ) { return ((-1)); }
  1638.  
  1639. int _tdpSaveColTbl( int evtNo, char *sbj )
  1640. {
  1641. char *tdp;
  1642. char *txd;
  1643.  
  1644. tdp = GetEvtSbjPtr(sbj);
  1645. txd = TdpGetTxdPtr(tdp);
  1646. TxdUsr_saveColTbl( txd );
  1647. return ((0));
  1648. }
  1649. # 568 "tdp.cci"
  1650. int TDP_setup2( char *tdp )
  1651. {
  1652. int ret;
  1653. char *mnu;
  1654. char *obj;
  1655.  
  1656. obj = MNU_alloc(2);
  1657. MNU_setObj(obj, 0, (2), 'C' , "Change color table", (0), (1910) , (0) , tdp );
  1658. MNU_setObj(obj, 1, (2), 'S' , "Save color table" , (0), 0 , "_tdpSaveColTbl", tdp );
  1659.  
  1660. mnu = MNU_open( (0x10020), (0x10020),
  1661. (1), obj, "SETUP2" );
  1662. ret = MNU_start ( mnu );
  1663. MNU_close(mnu);
  1664. MNU_free(obj);
  1665.  
  1666. if ( ret > 0 )
  1667. return TDP_cmdJump(tdp,ret);
  1668. else
  1669. return (ret);
  1670. }
  1671. # 594 "tdp.cci"
  1672. int TxdUsr_cut_word(char *txd )
  1673. {
  1674. if ( _getByte((txd)+(682)) != 0 )
  1675. return (0);
  1676. TXD_cmdJump( txd, (161) );
  1677. TXD_cmdJump( txd, (95) );
  1678. TXD_cmdJump( txd, (163) );
  1679. return ((0));
  1680. }
  1681. # 608 "tdp.cci"
  1682. int TxdUsr_dup_line( char *txd )
  1683. {
  1684. if ( _getByte((txd)+(682)) != 0 )
  1685. return (0);
  1686. TXD_cmdJump( txd, (85) );
  1687. TXD_cmdJump( txd, (171) );
  1688. TXD_cmdJump( txd, (82) );
  1689. TXD_cmdJump( txd, (172));
  1690.  
  1691. return ((0));
  1692. }
  1693.  
  1694. int _txd_printUndoInf( char *dlg, int *ubuf )
  1695. {
  1696. DLG_msgPrintf(dlg,"  最大バッファサイズ %8d bytes\r\n", ubuf[0] );
  1697. DLG_msgPrintf(dlg,"  使用バッファサイズ %8d bytes\r\n", ubuf[1]);
  1698. DLG_msgPrintf(dlg,"  最大回数           %8d 回\r\n" , ubuf[2] );
  1699. DLG_msgPrintf(dlg,"  現在有効数         %8d 回" , ubuf[3] );
  1700. }
  1701. # 632 "tdp.cci"
  1702. int TxdUsr_undo_info( char *txd )
  1703. {
  1704. char *dlg;
  1705. int ch, x, y;
  1706. int u[4];
  1707. unsigned int ec;
  1708.  
  1709. DSP_writePage(1);
  1710. dlg = DLG_msgOpen( (0x10020),(0x10020),
  1711. 8*38,16*10,1,3,12,"UNDO/REDO BUFFER INFORMATION");
  1712. if ( dlg == (0) )
  1713. return ((-1));
  1714. DLG_msgClear( dlg, -1 );
  1715.  
  1716. if ( TXD_getUndoInfo( txd, u ) == (0) )
  1717. {
  1718. DLG_msgPuts( dlg,"- UNDO -\r\n" );
  1719. _txd_printUndoInf( dlg, u );
  1720. if ( TXD_getRedoInfo( txd, u ) == (0) )
  1721. {
  1722. DLG_msgPuts( dlg,"\r\n- REDO -\r\n" );
  1723. _txd_printUndoInf( dlg, u );
  1724. } else
  1725. {
  1726. DLG_msgPuts(dlg,"\r\n\n REDO機能\は使用されていません。\r\n" );
  1727. }
  1728. } else
  1729. {
  1730. DLG_msgPuts(dlg,"\r\n UNDO機能\は使用されていません。\r\n" );
  1731. }
  1732.  
  1733. while ( 1 )
  1734. {
  1735. ch = EVT_getkey(&ec);
  1736. if ( ch != 0xFFFF || EVT_mos_pget(&x,&y) )
  1737. break;
  1738. EVT_idl();
  1739. }
  1740. DLG_msgClose(dlg);
  1741. EVT_mos_waitBO();
  1742.  
  1743. return ((0));
  1744. }
  1745. # 680 "tdp.cci"
  1746. int TxdUsr_clear_undo_buffer( char *txd )
  1747. {
  1748. TXD_undo_freeAll( txd );
  1749. return ((0));
  1750. }
  1751.  
  1752.  
  1753. int TxdUsr_jump_mark_0( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,0);}
  1754. int TxdUsr_jump_mark_1( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,1);}
  1755. int TxdUsr_jump_mark_2( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,2);}
  1756. int TxdUsr_jump_mark_3( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,3);}
  1757. int TxdUsr_jump_mark_4( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,4);}
  1758. int TxdUsr_jump_mark_5( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,5);}
  1759. int TxdUsr_jump_mark_6( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,6);}
  1760. int TxdUsr_jump_mark_7( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,7);}
  1761. int TxdUsr_jump_mark_8( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,8);}
  1762. int TxdUsr_jump_mark_9( unsigned int txd ){ unsigned int tdp; tdp = _getDword((txd)+(84)); return TDP_markJump(tdp,9);}
  1763. # 6 "tdptmp.cci"
  1764. char *_tdpTmp = (0);
  1765.  
  1766. int _tdpTmpData_open()
  1767. {
  1768. char tmp[256];
  1769.  
  1770. if ( _tdpTmp == (0) )
  1771. {
  1772. if ( (_tdpTmp = AMAC_allocWork(0)) == (0) )
  1773. return ((-1));
  1774. sprintf( tmp,"%s%s", AplGetStartPath(), "tdptmp.tbl" );
  1775. AMAC_load( _tdpTmp, tmp );
  1776. }
  1777. return ((0));
  1778. }
  1779. # 26 "tdptmp.cci"
  1780. int TxdUsr_template( char *txd )
  1781. {
  1782. char word[256], tmp[4];
  1783. int ch, len;
  1784. unsigned int curLnL, curOfs, lnL;
  1785. char *s;
  1786.  
  1787. if ( _tdpTmpData_open() )
  1788. return ((-1));
  1789. if ( _getByte((txd)+(682)) != 0 )
  1790. return (0);
  1791.  
  1792.  
  1793. curLnL = _getDword((txd)+(652));
  1794. if ( (curOfs = _getDword((txd)+(664))) == 0 )
  1795. return ((0));
  1796.  
  1797. TXD_cmdJump( txd, (96) );
  1798. if ( _getDword((txd)+(652)) < curLnL )
  1799. TXD_cmdJump( txd, (84) );
  1800. if ( (ch = TXD_getch(txd)) < 0 || (isalpha(ch) == 0 && ch != '_') )
  1801. {
  1802. TXD_jumpPos( txd, curLnL, curOfs );
  1803. return ((0));
  1804. }
  1805.  
  1806. len = 0;
  1807. while( len < 255 )
  1808. {
  1809. ch = TXD_getch(txd);
  1810. TXD_cmdJump( txd, (84) );
  1811. if ( isalpha(ch) || ch == '_' )
  1812. {
  1813. word[len++] = ch;
  1814. } else
  1815. break;
  1816. }
  1817. word[len] = '\0';
  1818. TXD_jumpPos( txd, curLnL, curOfs );
  1819. if ( len == 0 )
  1820. return ((0));
  1821.  
  1822. if ( (s = AMAC_getName( _tdpTmp, word )) == (0) )
  1823. return ((0));
  1824.  
  1825. while ( *s )
  1826. {
  1827. ch = (*s) & 0xFF;
  1828. ++s;
  1829. switch ( ch )
  1830. {
  1831. case '\x02':
  1832. TXD_cmdJump( txd, (85) );
  1833. break;
  1834. case '\x06':
  1835. TXD_cmdJump( txd, (86) );
  1836. break;
  1837. case '\x08':
  1838. TXD_cmdJump( txd, (122) );
  1839. break;
  1840. case '\n':
  1841. TXD_cmdJump( txd, (42) );
  1842. break;
  1843. case '\x0B':
  1844. TXD_jumpPos( txd, curLnL, curOfs );
  1845. break;
  1846. case '\x1C':
  1847. TXD_cmdJump( txd, (84) );
  1848. break;
  1849. case '\x1D':
  1850. TXD_cmdJump( txd, (83) );
  1851. break;
  1852. case '\x1E':
  1853. TXD_cmdJump( txd, (81) );
  1854. break;
  1855. case '\x1F':
  1856. TXD_cmdJump( txd, (82) );
  1857. break;
  1858. case '\x7F':
  1859. TXD_cmdJump( txd, (121) );
  1860. break;
  1861.  
  1862. default:
  1863. if ( iskanji(ch) && iskanji2(*s) )
  1864. {
  1865. tmp[0] = ch;
  1866. tmp[1] = *s; ++s;
  1867. tmp[2] = '\0';
  1868. TXD_setBuf( txd, 0, 2, tmp );
  1869. } else
  1870. {
  1871. tmp[0] = ch;
  1872. tmp[1] = '\0';
  1873. TXD_setBuf( txd, 0, 1, tmp );
  1874. }
  1875. break;
  1876. }
  1877. }
  1878. return ((0));
  1879. }
  1880. # 5 "tdpmml.cci"
  1881. int mml_tone_gen( char *txd, char *name )
  1882. {
  1883. char tmp[256];
  1884.  
  1885. TXD_setBuf( txd, 0, 2, "\r\n");
  1886.  
  1887. sprintf( tmp, "#define\tA_%s\t$TONE_MODIFY(64,64,64, 64,64, 64,64,64)\r\n", name );
  1888. TXD_setBuf( txd, 0, strlen(tmp), tmp);
  1889.  
  1890. sprintf( tmp, "#define\tF_%s\t$INSTFILTER(off:0,off:0,rnd:-1/1)\r\n", name );
  1891. TXD_setBuf( txd, 0, strlen(tmp), tmp);
  1892.  
  1893. sprintf( tmp, "#define\tT_%s\t$F_%s() $INSTMAC(  0, 40, 80, 14,100, 0, 0,12) $A_%s()\r\n", name, name, name );
  1894. TXD_setBuf( txd, 0, strlen(tmp), tmp);
  1895.  
  1896. sprintf( tmp, "#define\tD_%s\t?(delay:*0..8)\r\n", name );
  1897. TXD_setBuf( txd, 0, strlen(tmp), tmp);
  1898.  
  1899. sprintf( tmp, "#define\tO_%s\to4\r\n", name );
  1900. TXD_setBuf( txd, 0, strlen(tmp), tmp);
  1901.  
  1902. sprintf( tmp, "#define\tG_%s\tq92 ?#(gate:*-16..0)\r\n", name );
  1903. TXD_setBuf( txd, 0, strlen(tmp), tmp);
  1904.  
  1905. sprintf( tmp, "#define\tC_%s\tv100 x127 i0 m0 p0\r\n", name );
  1906. TXD_setBuf( txd, 0, strlen(tmp), tmp);
  1907.  
  1908. sprintf( tmp, "#define\t  %s\t$D_%s() $O_%s() $C_%s() $G_%s() $GenPin()\r\n", name, name, name, name, name );
  1909. TXD_setBuf( txd, 0, strlen(tmp), tmp);
  1910.  
  1911. TXD_scnFlush( txd );
  1912. return ((0));
  1913. }
  1914.  
  1915. int TxdUsr_mml_toneGen( char *txd )
  1916. {
  1917. int ret;
  1918. char *dlg;
  1919. char name[128];
  1920.  
  1921. DSP_writePage(1);
  1922. dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
  1923. "音色マクロ名を入力してください。");
  1924. DLG_getsSetTitle( dlg, "MML GENERATE" );
  1925. name[0] = '\0';
  1926. ret = DLG_getsStart( dlg, 127, name );
  1927. if ( ret > 0 && name[0] != '\0' )
  1928. {
  1929. mml_tone_gen( txd, name );
  1930. }
  1931. DLG_getsClose(dlg);
  1932. return (0);
  1933. }
  1934. # 5 "tdpwhlp.cci"
  1935. char WdHlpPath[128];
  1936. char WdHlpFn[128];
  1937. char WdHlpIdxFn[128];
  1938.  
  1939.  
  1940.  
  1941. int WdHelp( char *name )
  1942. {
  1943. int ch, i, ret;
  1944. char *fp, *idxFp;
  1945. char *s, buf[(512)];
  1946. char key[(16)+4];
  1947. long fpos;
  1948. int x0, y0;
  1949. char *dlg;
  1950. char *txtPtr;
  1951.  
  1952. x0 = y0 = (0x10030);
  1953. txtPtr = (0);
  1954. DSP_writePage(1);
  1955. if ( WdHlpPath[0] == '\0' )
  1956. strcpy( WdHlpPath, AplGetStartPath() );
  1957. sprintf( WdHlpFn , "%sTdpHelp.whf", WdHlpPath );
  1958. sprintf( WdHlpIdxFn, "%sTdpHelp.whi", WdHlpPath );
  1959.  
  1960. if ( (fp = FM_fopen(WdHlpFn,"rb")) == (0) )
  1961. {
  1962. DLG_tmpMsgTime( (0x10020), (0x10020),
  1963. 1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
  1964. 3, " %s : \n  File open error!! ", WdHlpFn );
  1965. return ((-1));
  1966. }
  1967.  
  1968. if ( (idxFp = FM_fopen(WdHlpIdxFn,"rb")) == (0) )
  1969. {
  1970.  
  1971.  
  1972. dlg = DLG_msgOpen(x0,y0, 8*40,16*8, 1,3,12,
  1973. "MAKE INDEX FILE for WORD HELP" );
  1974. if ( dlg == (0) )
  1975. {
  1976. FM_fclose(fp);
  1977. return ((-1));
  1978. }
  1979. DLG_msgClear( dlg, -1 );
  1980. DLG_msgPrintf(dlg,"インデックスファイルを作成します。\r\n" );
  1981.  
  1982. if ( (idxFp = FM_fopen(WdHlpIdxFn,"wb")) == (0) )
  1983. {
  1984. DLG_msgPrintf(dlg,"File open errro!! (%s)\r\n", WdHlpIdxFn );
  1985. DLG_msgClose(dlg);
  1986. FM_fclose(fp);
  1987. return ((-1));
  1988. }
  1989.  
  1990. for (;;)
  1991. {
  1992. fpos = ftell(fp);
  1993. if ( fgets(buf,(512),fp) == (0) )
  1994. break;
  1995. s = buf;
  1996. if ( *s != '.' )
  1997. continue;
  1998. ++s;
  1999. while ( isspace(*s) )
  2000. ++s;
  2001. memset( key, '\0', 17 );
  2002. for ( i = 0; i < (16); ++i )
  2003. {
  2004. ch = *s; ++s;
  2005. if ( isdigit(ch) == 0 && isalpha(ch) == 0 && ch != '_' )
  2006. break;
  2007. key[i] = ch;
  2008. }
  2009. if ( key[0] == '\0' )
  2010. continue;
  2011. DLG_msgPrintf(dlg,"fpos = %6ld : %s\r\n", fpos, key );
  2012. fwrite(&fpos, 4,1,idxFp);
  2013. fwrite( key,(16),1,idxFp);
  2014. }
  2015. DLG_msgClose(dlg);
  2016. FM_fclose(idxFp);
  2017. if ( (idxFp = FM_fopen(WdHlpIdxFn,"rb")) == (0) )
  2018. {
  2019. FM_fclose(fp);
  2020. return ((-1));
  2021. }
  2022. }
  2023.  
  2024. ret = 0;
  2025. for(;;)
  2026. {
  2027. if ( fread(&fpos,4,1,idxFp) < 1 )
  2028. {
  2029. ret = -1;
  2030. break;
  2031. }
  2032. if ( fread(key,(16),1,idxFp) < 1 )
  2033. {
  2034. ret = -1;
  2035. break;
  2036. }
  2037. if ( strncmp( name, key, (16)) == 0 )
  2038. break;
  2039. }
  2040. FM_fclose(idxFp);
  2041. if ( ret )
  2042. {
  2043. DLG_tmpMsgTime( (0x10020), (0x10020),
  2044. 1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
  2045. 3, "  %s : \n  Pattern not found!! ", name );
  2046. FM_fclose(fp);
  2047. return ((-1));
  2048. }
  2049. fseek(fp,fpos,(0));
  2050. fgets(buf,(512),fp);
  2051. while ( fgets(buf,(512),fp) != (0) )
  2052. {
  2053. if ( buf[0] == '.' )
  2054. break;
  2055. txtPtr = DLG_txtSetLinBuf( txtPtr, 8, 80, "%s", buf );
  2056. }
  2057. FM_fclose(fp);
  2058.  
  2059. if ( (dlg = DLG_txtOpen(x0,y0,80,20,txtPtr,0)) == (0) )
  2060. {
  2061. DLG_txtFreeLinBuf( txtPtr );
  2062. return ((-1));
  2063. }
  2064. DLG_txtSetTitle( dlg, "TDP WORD HELP" );
  2065. DLG_txtSetGuideMsg( dlg, "Function : %s", name );
  2066. DLG_txtStart( dlg );
  2067. DLG_txtClose( dlg );
  2068. DLG_txtFreeLinBuf( txtPtr );
  2069.  
  2070. return ((0));
  2071. }
  2072. # 147 "tdpwhlp.cci"
  2073. int TxdUsr_word_help( char *txd )
  2074. {
  2075. int ret, ch, len;
  2076. char word[(16)+4];
  2077. unsigned int curLnL, curOfs;
  2078. char *dlg;
  2079.  
  2080. if ( _getByte((txd)+(682)) != 0 )
  2081. return (0);
  2082.  
  2083.  
  2084. curLnL = _getDword((txd)+(652));
  2085. curOfs = _getDword((txd)+(664));
  2086.  
  2087. if ( (ch = TXD_getch(txd)) > 0 && ch < 256 && (isalpha(ch) || ch == '_') )
  2088. {
  2089. len = 0;
  2090. while( len < (16) )
  2091. {
  2092. ch = TXD_getch(txd);
  2093. TXD_cmdJump( txd, (84) );
  2094. if ( isalpha(ch) || ch == '_' )
  2095. {
  2096. word[len++] = ch;
  2097. } else
  2098. break;
  2099. }
  2100. word[len] = '\0';
  2101. TXD_jumpPos( txd, curLnL, curOfs );
  2102. if ( len == 0 )
  2103. return ((0));
  2104. } else
  2105. word[0] = '\0';
  2106.  
  2107. DSP_writePage(1);
  2108. dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
  2109. "検索パターンを入力してください。" );
  2110. DLG_getsSetTitle( dlg, "PATTERN" );
  2111. ret = DLG_getsStart( dlg, (16), word );
  2112. DLG_getsClose(dlg);
  2113. if ( ret <= 0 )
  2114. return (0);
  2115.  
  2116. WdHelp( word );
  2117.  
  2118. return (0);
  2119. }
  2120. # 5 "dcn.cci"
  2121. char *_current_dcn;
  2122. char *_cns_console;
  2123. char _cns_comspec[128];
  2124. # 5 "dcntool.cci"
  2125. int _dcn_copy( char *dcn )
  2126. {
  2127. int ret;
  2128. char *fdl;
  2129. char *btn;
  2130. int srcDrv, dstDrv;
  2131. char srcDir[128], tmp[128], dstPn[128];
  2132.  
  2133. srcDrv = FS_getdrv();
  2134. FS_getdir( srcDir );
  2135.  
  2136. if ( (fdl = FDL_open(0)) == (0) )
  2137. return ((-1));
  2138. SYL_puts( 12, "カレントディレクトリ上のファイルをすべて複写します。複写先に移動してください。");
  2139. FDL_set_title( fdl, "FILE COPY : 複写先指定");
  2140. FDL_set_wildcard( fdl, "*.*");
  2141.  
  2142. ret = FDL_start(fdl);
  2143.  
  2144. dstDrv = FDL_get_drv(fdl);
  2145. strcpy( tmp, FDL_get_whare(fdl) );
  2146. sprintf( dstPn, "%c:/%s", dstDrv + 'A', tmp );
  2147. FDL_close(fdl);
  2148. if ( ret != (0) )
  2149. return ((1));
  2150. if ( srcDrv == dstDrv && FS_cmpfnam( srcDir, tmp) == 0 )
  2151. {
  2152. DLG_tmpMsgTime( (0x10020), (0x10020),
  2153. 1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
  2154. AplErrMsgTime, "  複写元と複写先が同じです。  ");
  2155. return ((1));
  2156. }
  2157. btn = MNU_allocBtn( 2 );
  2158. MNU_setBtn( btn, 0, '\r' , 0x7300 , 1, "COPY : [実行]" );
  2159. MNU_setBtn( btn, 1, '\x1B', 0x7200, 2, "CANECEL : [取消]" );
  2160. ret = MNU_selectBtn( (0x10030), (0x10030),
  2161. 1, 3, (0x1000|(((14)&15)<<4)|((7)&15)),
  2162. (0), 2, btn,
  2163. "複写元 : %c:/%s  \n複写先 : %s  \n        複写を行いますか?      ",
  2164. srcDrv + 'A', srcDir, dstPn );
  2165. MNU_freeBtn( btn );
  2166. if ( ret != 1 )
  2167. return ((1));
  2168.  
  2169.  
  2170. FS_chdrv( srcDrv );
  2171. sprintf( tmp, "/%s", srcDir );
  2172. FS_chdir( tmp );
  2173. FM_fcopy( "*.*", 0x16, (0x01), dstPn, "" );
  2174.  
  2175. return ((1));
  2176. }
  2177.  
  2178. int _dcn_delete( char *dcn )
  2179. {
  2180. int i, ret;
  2181. unsigned int cf;
  2182. char *fn;
  2183. char *btn;
  2184. char *fdl;
  2185.  
  2186. if ( (fdl = FDL_open(((0x00000002)|(0x00000080)|(0x00010000)))) == (0) )
  2187. return ((-1));
  2188. FDL_set_title( fdl, "FILE DELETE");
  2189. FDL_set_wildcard( fdl, "*.*");
  2190. SYL_puts(12,"削除するファイルを指定してください。");
  2191. ret = FDL_start(fdl);
  2192. if ( ret != (0) )
  2193. {
  2194. SYL_clear();
  2195. FDL_close(fdl);
  2196. return ((1));
  2197. }
  2198. SYL_clear();
  2199.  
  2200. i = 0;
  2201. while ( FDL_getMarkFile(fdl, i) != (0) )
  2202. ++i;
  2203.  
  2204. if ( i == 0 )
  2205. {
  2206. FDL_close(fdl);
  2207. DLG_tmpMsgTime( (0x10020), (0x10020),
  2208. 1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
  2209. AplErrMsgTime, "    ファイル名が指定されていません。  " );
  2210. return ((1));
  2211. }
  2212.  
  2213. btn = MNU_allocBtn( 2 );
  2214. MNU_setBtn( btn, 0, '\r' , 0x7300 , 1, "DELETE : [実行]" );
  2215. MNU_setBtn( btn, 1, '\x1B', 0x7200, 2, "CANECEL : [取消]" );
  2216. ret = MNU_selectBtn( (0x10030), (0x10030),
  2217. 1, 3, (0x1000|(((14)&15)<<4)|((7)&15)), (0), 2, btn,
  2218. "  %d 個のファイルが指定されています。  \n        削除しますか?      ",
  2219. i );
  2220. MNU_freeBtn( btn );
  2221. if ( ret != 1 )
  2222. {
  2223. FDL_close(fdl);
  2224. return ((1));
  2225. }
  2226.  
  2227. i = 0;
  2228. while ( (fn = FDL_getMarkFile(fdl, i)) != (0) )
  2229. {
  2230. SYL_puts( 12, "DELETE : %s", fn );
  2231. FS_remove( fn );
  2232. ++i;
  2233. }
  2234. FDL_close(fdl);
  2235.  
  2236. return ((1));
  2237. }
  2238. # 18 "ish.cci"
  2239. int _ish_md = 0;
  2240. int _ish_os = 0;
  2241. int _ish_mv = 0;
  2242.  
  2243. int _ish_setMd()
  2244. {
  2245. int ret;
  2246. char *obj;
  2247. char *mnu;
  2248.  
  2249. obj = MNU_alloc(4);
  2250. MNU_setObj(obj, 0, (2), 'S', " shift jis " , (0), 0, (0), (0) );
  2251. MNU_setObj(obj, 1, (2), '7', " jis 7" , (0), 1, (0), (0) );
  2252. MNU_setObj(obj, 2, (2), '8', " jis 8" , (0), 2, (0), (0) );
  2253. MNU_setObj(obj, 3, (2), 'N', " non-kana" , (0), 3, (0), (0) );
  2254. mnu = MNU_open( (0x10010), (0x10010),
  2255. (1), obj, "ISH 作成モード" );
  2256. ret = MNU_start ( mnu );
  2257. MNU_close(mnu);
  2258. MNU_free(obj);
  2259. if ( ret >= 0 )
  2260. _ish_md = ret;
  2261. return (0);
  2262. }
  2263.  
  2264. int _ish_setOs()
  2265. {
  2266. int ret;
  2267. char *obj;
  2268. char *mnu;
  2269.  
  2270. obj = MNU_alloc(7);
  2271. MNU_setObj(obj, 0, (2), 'D', " MS-DOS " , (0), 0, (0), (0) );
  2272. MNU_setObj(obj, 1, (2), 'U', " UNIX" , (0), 1 , (0), (0) );
  2273. MNU_setObj(obj, 2, (2), 'M', " Mac" , (0), 2 , (0), (0) );
  2274. MNU_setObj(obj, 3, (2), 'C', " CP/M" , (0), 3 , (0), (0) );
  2275. MNU_setObj(obj, 4, (2), '9', " OS-9" , (0), 4 , (0), (0) );
  2276. MNU_setObj(obj, 5, (2), 'O', " other" , (0), 5, (0), (0) );
  2277. MNU_setObj(obj, 6, (2), 'A', " all" , (0), 6 , (0), (0) );
  2278.  
  2279. mnu = MNU_open( (0x10010), (0x10010),
  2280. (1), obj, "ISH OS 種別" );
  2281. ret = MNU_start ( mnu );
  2282. MNU_close(mnu);
  2283. MNU_free(obj);
  2284. if ( ret >= 0 )
  2285. _ish_os = ret;
  2286. return (0);
  2287. }
  2288.  
  2289. int _ish_setMv()
  2290. {
  2291. int ret;
  2292. char *dlg;
  2293. char tmp[16], mv[16];
  2294.  
  2295. if ( _ish_mv == 0 )
  2296. strcpy( mv, "off");
  2297. else
  2298. sprintf( mv,"%d", mv );
  2299. dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
  2300. "    1ファイルの行数を入力してください(100~9999)。  \n現在:%s",
  2301. mv );
  2302. DLG_getsSetTitle( dlg, "ISH マルチボリューム設定" );
  2303. tmp[0] = 0;
  2304. ret = DLG_getsStart( dlg, 15, tmp );
  2305. DLG_getsClose(dlg);
  2306. if ( ret >= 0 )
  2307. { ret = atoi(tmp);
  2308. if ( ret > 99 && ret < 10000 )
  2309. _ish_mv = ret;
  2310. }
  2311. return (0);
  2312. }
  2313.  
  2314. int _ish_make( char *dcn )
  2315. {
  2316. int ret;
  2317. char *fdl;
  2318. char ish[128], dir[128], cmd[256];
  2319. char tmp[128];
  2320. char *md, *os, mv[16];
  2321.  
  2322.  
  2323. switch ( _ish_md )
  2324. {
  2325. case 0: md = "/ss"; break;
  2326. case 1: md = "/s7"; break;
  2327. case 2: md = "/s8"; break;
  2328. case 3: md = "/sn"; break;
  2329. }
  2330. switch ( _ish_os )
  2331. {
  2332. case 0: os = "/m" ; break;
  2333. case 1: os = "/u" ; break;
  2334. case 2: os = "/ma"; break;
  2335. case 3: os = "/c" ; break;
  2336. case 4: os = "/9" ; break;
  2337. case 5: os = "/?" ; break;
  2338. case 6: os = "/*" ; break;
  2339. }
  2340. if ( _ish_mv == 0 )
  2341. mv[0] = '\0';
  2342. else
  2343. sprintf( mv,"/mv %d", _ish_mv );
  2344.  
  2345. if ( (fdl = FDL_open(0)) == (0) )
  2346. return ((-1));
  2347. FDL_set_title( fdl, "ISH ファイル作成");
  2348. FDL_set_wildcard( fdl, "*.*");
  2349. SYL_puts(12,"ISH ファイルにしたいファイルを選択してください。");
  2350. if ( FDL_start(fdl) == (0) && FS_setFullPathname( tmp, FDL_get_filename(fdl)) == (0) )
  2351. {
  2352. FS_unix2dos( ish, tmp );
  2353. ret = (0);
  2354. } else
  2355. ret = (-1);
  2356. if ( ret == (0) )
  2357. {
  2358. DLG_tmpMsgTime( (0x10020), (0x10020),
  2359. 1, 3, (0x1000|(((12)&15)<<4)|((7)&15)),
  2360. 3, "  %s : \n    ISH ファイルを作成するディレクトリに移動してください。  ",
  2361. ish );
  2362. FDL_set_defaultFilename( fdl, "");
  2363. FDL_set_title( fdl, "ISH : ディレクトリ指定");
  2364. SYL_puts( 12,
  2365. "ISH ファイルを作成したいディレクトリに移動してください。");
  2366. ret = FDL_start(fdl);
  2367. if ( ret == (0) )
  2368. {
  2369. sprintf( tmp, "%c:/%s", FDL_get_drv(fdl) + 'A', FDL_get_whare(fdl) );
  2370. FS_unix2dos( dir, tmp );
  2371. FDL_close(fdl);
  2372. sprintf( cmd, "ish %s %s %s %s %s", ish, md, os, dir, mv );
  2373. DCN_puts( dcn, cmd );
  2374. DCN_exec( dcn, 0, cmd );
  2375. ret = (1);
  2376. } else
  2377. FDL_close(fdl);
  2378. } else
  2379. FDL_close(fdl);
  2380.  
  2381. SYL_clear();
  2382. return (ret);
  2383. }
  2384.  
  2385. int _ish_restore( char *dcn )
  2386. {
  2387. int ret;
  2388. char *fdl;
  2389. char ish[128], cmd[256], tmp[128];
  2390.  
  2391. if ( (fdl = FDL_open(0)) == (0) )
  2392. return ((-1));
  2393. FDL_set_title( fdl, "ISH ファイルの復元");
  2394. FDL_set_wildcard( fdl, "*.*");
  2395. SYL_puts(12,"復元したいファイルを指定してください。");
  2396. if ( FDL_start(fdl) == (0) && FS_setFullPathname( ish, FDL_get_filename(fdl)) == (0) )
  2397. ret = (0);
  2398. else
  2399. ret = (-1);
  2400. if ( ret == (0) )
  2401. {
  2402. DLG_tmpMsgTime( (0x10020), (0x10020),
  2403. 1, 3, (0x1000|(((12)&15)<<4)|((7)&15)),
  2404. 3, "  %s : \n復元先するディレクトリに移動してください。  ",
  2405. ish );
  2406. FDL_set_defaultFilename( fdl, "");
  2407. FDL_set_title( fdl, "ISH : 復元先ディレクトリの指定");
  2408. SYL_puts(12,
  2409. "ISH ファイルを復元したいディレクトリに移動してください。");
  2410. ret = FDL_start(fdl);
  2411. FDL_close(fdl);
  2412. if ( ret == (0) )
  2413. {
  2414. FS_unix2dos( tmp, ish );
  2415. sprintf( cmd, "ish %s /r", tmp );
  2416. DCN_puts( dcn, cmd );
  2417. DCN_exec( dcn, 0, cmd );
  2418. ret = (1);
  2419. }
  2420. } else
  2421. FDL_close(fdl);
  2422.  
  2423. SYL_clear();
  2424. return (ret);
  2425. }
  2426.  
  2427. int _ish_setobj( char *obj )
  2428. {
  2429. char *md, *os, mv[16];
  2430.  
  2431. switch ( _ish_md )
  2432. {
  2433. case 0: md = "shift jis"; break;
  2434. case 1: md = "jis7" ; break;
  2435. case 2: md = "jis8" ; break;
  2436. case 3: md = "non-kana" ; break;
  2437. }
  2438. switch ( _ish_os )
  2439. {
  2440. case 0: os = "MS-DOS"; break;
  2441. case 1: os = "UNIX" ; break;
  2442. case 2: os = "Mac" ; break;
  2443. case 3: os = "CP/M" ; break;
  2444. case 4: os = "OS-9" ; break;
  2445. case 5: os = "other" ; break;
  2446. case 6: os = "all" ; break;
  2447. }
  2448. if ( _ish_mv == 0 )
  2449. strcpy( mv, "off");
  2450. else
  2451. sprintf( mv, "%d", _ish_mv );
  2452.  
  2453. MNU_setObj(obj, 0, (2), 'I', " ISH ファイルの作成 " , (0), 1, (0) , (0) );
  2454. MNU_setObj(obj, 1, (4), 'S', " 作成モード       %s " , md , 0, "_ish_setMd", (0) );
  2455. MNU_setObj(obj, 2, (4), 'O', " OS種別           %s " , os , 0, "_ish_setOs", (0) );
  2456. MNU_setObj(obj, 3, (4), 'M', " マルチボリューム %s " , mv , 0, "_ish_setMv", (0) );
  2457. MNU_setObj(obj, 4, (0), 0 , (0) , (0), 0, (0) , (0) );
  2458. MNU_setObj(obj, 5, (2), 'R', " ISH ファイルの復元 " , (0), 2, (0) , (0) );
  2459.  
  2460. return (0);
  2461. }
  2462.  
  2463. int dcn_ish_menu( char *dcn )
  2464. {
  2465. int ret;
  2466. char *obj;
  2467. char *mnu;
  2468.  
  2469. obj = MNU_alloc(6);
  2470. _ish_setobj(obj);
  2471. mnu = MNU_open( (0x10010), (0x10010),
  2472. (1), obj, "ISH MENU" );
  2473. while ( 1 )
  2474. {
  2475. ret = MNU_start ( mnu );
  2476. if ( ret != 0 )
  2477. break;
  2478. _ish_setobj(obj);
  2479. }
  2480. MNU_close(mnu);
  2481. MNU_free(obj);
  2482. switch ( ret )
  2483. {
  2484. case 1: return _ish_make(dcn);
  2485. case 2: return _ish_restore(dcn);
  2486. }
  2487. return ((-1));
  2488. }
  2489. # 5 "mktags.cci"
  2490. char _mktags_mode;
  2491. char *_mktags_fp;
  2492. # 14 "mktags.cci"
  2493. int _mktags_main_file(char *fn)
  2494. {
  2495. char *fp;
  2496. char buf[512], tmp[128];
  2497. int ret, pos, len, ln, ch, ec;
  2498. char *reptn;
  2499.  
  2500. sprintf( tmp,"---------- %s ----------\r\n", fn );
  2501. if ( (reptn = RePtnAlloc("^[A-Za-z_].*[ \\t]*[\\*A-Za-z_].*(.*)\\|^#[ \\t]*define[ \\t]*[A-Za-z_].*(.*)",0)) == (0) )
  2502. return ((-1));
  2503. DCN_puts( _current_dcn, tmp );
  2504. fputs( tmp, _mktags_fp );
  2505. if ( (fp = FM_fopen(fn,"rb")) == (0) )
  2506. { RePtnFree( reptn );
  2507. return ((-1));
  2508. }
  2509. ret = 0;
  2510. ln = 0;
  2511. while ( fgets(buf,512,fp) != (0) )
  2512. {
  2513. ++ln;
  2514. if ( RePtnMatch2( reptn, buf, &pos, &len) > 0 && pos == 0 )
  2515. {
  2516. sprintf( tmp, "%-14s %d: ", fn, ln );
  2517. fputs( tmp, _mktags_fp);
  2518. fputs( buf, _mktags_fp);
  2519. }
  2520. if ( getkey(&ec) == '\x1B' || (ec&0xFF14) == 0x7200 )
  2521. { DCN_puts( _current_dcn, "<<<BREAK>>>\r\n" );
  2522. ret = 1;
  2523. break;
  2524. }
  2525. }
  2526. FM_fclose(fp);
  2527. RePtnFree( reptn );
  2528. return (ret);
  2529. }
  2530.  
  2531.  
  2532. int _mktags_main_scn(char *fn)
  2533. {
  2534. char *fp;
  2535. char buf[512], tmp[128];
  2536. int ret, pos, len, ln, ch, ec;
  2537. char *reptn;
  2538.  
  2539. sprintf( tmp,"---------- %s ----------\r\n", fn );
  2540. if ( (reptn = RePtnAlloc("^[A-Za-z_].*[ \\t]*[\\*A-Za-z_].*(.*)\\|^#[ \\t]*define[ \\t]*[A-Za-z_].*(.*)",0)) == (0) )
  2541. return ((-1));
  2542. DCN_puts(_current_dcn,tmp);
  2543. if ( (fp = FM_fopen(fn,"rb")) == (0) )
  2544. { RePtnFree( reptn );
  2545. return ((-1));
  2546. }
  2547. ret = 0;
  2548. ln = 0;
  2549. while ( fgets(buf,512,fp) != (0) )
  2550. { ++ln;
  2551. if ( RePtnMatch2( reptn, buf, &pos, &len) > 0 && pos == 0 )
  2552. {
  2553. sprintf( tmp, "%-14s %d: ", fn, ln );
  2554. DCN_puts(_current_dcn, tmp);
  2555. DCN_puts(_current_dcn, buf);
  2556. }
  2557. if ( getkey(&ec) == '\x1B' || (ec&0xFF14) == 0x7200 )
  2558. { DCN_puts(_current_dcn, "<<<BREAK>>>\r\n");
  2559. ret = 1;
  2560. break;
  2561. }
  2562. }
  2563. FM_fclose(fp);
  2564. RePtnFree( reptn );
  2565.  
  2566. return (ret);
  2567. }
  2568.  
  2569. int _mktags_extract( char *wild )
  2570. {
  2571. char buf[64];
  2572. int ret, cnt;
  2573. # 100 "mktags.cci"
  2574. cnt = 0;
  2575. ret = FM_findfirst( wild, 0, buf );
  2576. while ( ret == 0 )
  2577. {
  2578. ++cnt;
  2579. # 109 "mktags.cci"
  2580. if ( _mktags_mode )
  2581. ret = _mktags_main_file( buf );
  2582. else
  2583. ret = _mktags_main_scn( buf );
  2584. # 116 "mktags.cci"
  2585. if ( ret > 0 )
  2586. break;
  2587. ret = FM_findnext( buf );
  2588. }
  2589. return (cnt > 0 ? (0) : (-1));
  2590. }
  2591.  
  2592. int MkTags( int argc, char **argv)
  2593. {
  2594. int i;
  2595. char *s;
  2596.  
  2597. if ( _mktags_mode )
  2598. { if ( (_mktags_fp = FM_fopen("tags","wb")) == (0) )
  2599. return ((-1));
  2600. }
  2601. for ( i = 1; i < argc; ++i )
  2602. { s = argv[i];
  2603. if ( *s == '-' || *s == '/' )
  2604. {
  2605. } else
  2606. { _mktags_extract( s );
  2607. }
  2608. }
  2609. if ( _mktags_mode )
  2610. FM_fclose(_mktags_fp);
  2611. return ((0));
  2612. }
  2613. # 149 "mktags.cci"
  2614. int _dcn_searchFunction( char *dcn )
  2615. {
  2616. int i, ret;
  2617. int argc;
  2618. char **argv;
  2619. char *para;
  2620.  
  2621. ret = MNU_sure ( (0x10030), (0x10030),
  2622. 1, 3, (0x1000|(((12)&15)<<4)|((7)&15)), (0),
  2623. "   カレントディレクトリの 拡張子 .H .C .CCI ファイルから、  \n  関数定義,マクロ定義位置を探します。"
  2624. );
  2625. if ( ret != (1) )
  2626. return ((-1));
  2627.  
  2628. _mktags_mode = 0;
  2629. _current_dcn = dcn;
  2630. DCN_puts(_current_dcn,"\r\n");
  2631.  
  2632. para = "mktags *.h *.c *.cci";
  2633. argc = FS_argSet(para,&argv);
  2634. if ( argc > 0 )
  2635. { MkTags( argc, argv );
  2636. FS_argClear( argc, argv );
  2637. }
  2638. return ((1));
  2639. }
  2640. # 181 "mktags.cci"
  2641. int _dcn_mktags( char *dcn )
  2642. {
  2643. int i, ret;
  2644. int argc;
  2645. char **argv;
  2646. char *para;
  2647.  
  2648. ret = MNU_sure ( (0x10030), (0x10030),
  2649. 1, 3, (0x1000|(((12)&15)<<4)|((7)&15)), (0),
  2650. "   カレントディレクトリの 拡張子 .H .C .CCI ファイルから、  \n  \x22tags\x22ファイルを作成します。"
  2651. );
  2652. if ( ret != (1) )
  2653. return ((-1));
  2654.  
  2655. _mktags_mode = 1;
  2656. _current_dcn = dcn;
  2657. DCN_puts(_current_dcn,"\r\n");
  2658.  
  2659. para = "mktags *.h *.c *.cci";
  2660. argc = FS_argSet(para,&argv);
  2661. if ( argc > 0 )
  2662. { MkTags( argc, argv );
  2663. FS_argClear( argc, argv );
  2664. }
  2665. return ((1));
  2666. }
  2667. # 28 "dcn.cci"
  2668. int DcnUsr_commandMenu( char *dcn, int x, int y )
  2669. {
  2670. int ret;
  2671. char *obj;
  2672. char *mnu;
  2673. char *cmd;
  2674.  
  2675. obj = MNU_alloc(3);
  2676. MNU_setObj(obj, 0, (2), 'D', "Directory" , (0), 1, (0), (0) );
  2677. MNU_setObj(obj, 1, (2), 'M', "MetaKey" , (0), 2, (0), (0) );
  2678. MNU_setObj(obj, 2, (2), 'C', "CD Dictionary", (0), 3, (0), (0) );
  2679. mnu = MNU_open( x, y, (1), obj, "COMMAND" );
  2680. ret = MNU_start ( mnu );
  2681. MNU_close(mnu);
  2682. MNU_free(obj);
  2683. switch ( ret )
  2684. {
  2685. case 1:
  2686. cmd = "DIR";
  2687. DCN_puts(dcn, cmd );
  2688. DCN_puts(dcn, "\r\n" );
  2689. DCN_exec(dcn, (1), cmd);
  2690. ret = (1);
  2691. break;
  2692. case 2:
  2693. DCN_metakey(dcn);
  2694. ret = 0;
  2695. break;
  2696. case 3:
  2697. DCN_puts(dcn, "\r\n" );
  2698. DCN_dic(dcn);
  2699. ret = (1);
  2700. break;
  2701. }
  2702. return (ret);
  2703. }
  2704. # 69 "dcn.cci"
  2705. int DcnUsr_func_01( char *dcn )
  2706. {
  2707. return DCN_menu( dcn );
  2708. }
  2709. # 78 "dcn.cci"
  2710. int DcnUsr_func_02( char *dcn )
  2711. {
  2712. int ret;
  2713. char *fdl;
  2714.  
  2715. if ( (fdl = FDL_open(0)) == (0) )
  2716. return ((-1));
  2717. FDL_set_title( fdl, "DIRECTORY");
  2718. FDL_set_wildcard( fdl, "*.*");
  2719. ret = FDL_start(fdl);
  2720. FDL_close(fdl);
  2721.  
  2722. DCN_puts(dcn, "\r\n" );
  2723. if ( ret == (0) )
  2724. {
  2725.  
  2726.  
  2727.  
  2728. DCN_exec( dcn, 0, "dir /w" );
  2729.  
  2730. }
  2731. return ((1));
  2732. }
  2733. # 106 "dcn.cci"
  2734. int DcnUsr_func_03( char *dcn )
  2735. {
  2736. int ret;
  2737. char *mnu;
  2738. char *obj;
  2739.  
  2740. obj = MNU_alloc(2);
  2741. MNU_setObj(obj, 0, (2), 'C' , "Copy", (0), 1, (0), (0) );
  2742. MNU_setObj(obj, 1, (2), 'D' , "Delete" , (0), 2, (0), (0) );
  2743. mnu = MNU_open( (0x10010), (0x10010),
  2744. (1), obj, "TOOL" );
  2745. ret = MNU_start ( mnu );
  2746. MNU_close(mnu);
  2747. MNU_free(obj);
  2748. switch ( ret )
  2749. {
  2750. case 1: ret = _dcn_copy(dcn); break;
  2751. case 2: ret = _dcn_delete(dcn); break;
  2752. }
  2753. return ((0));
  2754. }
  2755. # 132 "dcn.cci"
  2756. int DcnUsr_func_04( char *dcn )
  2757. {
  2758. int ret;
  2759. char *mnu;
  2760. char *obj;
  2761.  
  2762. obj = MNU_alloc(2);
  2763. MNU_setObj(obj, 0, (2), 'M' , "Make \x22tags\x22 file" , (0), 1, (0), (0) );
  2764. MNU_setObj(obj, 1, (2), 'S' , "Search function defined position", (0), 2, (0), (0) );
  2765. mnu = MNU_open( (0x10010), (0x10010),
  2766. (1), obj, "CCI UTILITY" );
  2767. ret = MNU_start ( mnu );
  2768. MNU_close(mnu);
  2769. MNU_free(obj);
  2770. switch ( ret )
  2771. {
  2772. case 1: ret = _dcn_mktags(dcn); break;
  2773. case 2: ret = _dcn_searchFunction(dcn); break;
  2774.  
  2775. default: ret = (0); break;
  2776. }
  2777. return (ret);
  2778. }
  2779. # 160 "dcn.cci"
  2780. int DcnUsr_func_05( char *dcn )
  2781. {
  2782. char *cns;
  2783. int ret;
  2784. char *mnu;
  2785. char *obj;
  2786.  
  2787. cns = DcnGetCnsPtr( dcn );
  2788.  
  2789. obj = MNU_alloc(2);
  2790. MNU_setObj(obj, 0, (2), 'C' , "Change color table", (0), 1, (0), (0) );
  2791. MNU_setObj(obj, 1, (2), 'T' , "Save color table" , (0), 2, (0), (0) );
  2792.  
  2793. mnu = MNU_open( (0x10010), (0x10010),
  2794. (1), obj, "SETUP" );
  2795. ret = MNU_start ( mnu );
  2796. MNU_close(mnu);
  2797. MNU_free(obj);
  2798.  
  2799. switch ( ret )
  2800. {
  2801. case 1: DCN_changeColor( dcn ); break;
  2802. case 2: CnsUsr_saveColTbl( cns ); break;
  2803. }
  2804. return ((0));
  2805. }
  2806. # 191 "dcn.cci"
  2807. int DcnUsr_func_06( char *dcn )
  2808. {
  2809. DCN_puts(dcn, "\r\n" );
  2810. DCN_dic(dcn);
  2811. return ((1));
  2812. }
  2813. # 202 "dcn.cci"
  2814. int DcnUsr_func_07( char *dcn )
  2815. {
  2816.  
  2817. return ((0));
  2818. # 213 "dcn.cci"
  2819. }
  2820. # 219 "dcn.cci"
  2821. int DcnUsr_func_08( char *dcn )
  2822. {
  2823. return dcn_ish_menu( dcn );
  2824. }
  2825. # 228 "dcn.cci"
  2826. int DcnUsr_func_09( char *dcn )
  2827. {
  2828. char cmd[256];
  2829.  
  2830. sprintf( cmd, "%s %s miel *.*", _cns_console, _cns_comspec );
  2831. DCN_exec( dcn, 1, cmd );
  2832. return ((0));
  2833. }
  2834. # 241 "dcn.cci"
  2835. int DcnUsr_func_10( char *dcn )
  2836. {
  2837. DLG_tmpMsgTime( (0x10020), (0x10020),
  2838. 1, 3, (0x1000|(((5)&15)<<4)|((7)&15)),
  2839. 3, "  ORICON を起動します。  \n    HEwinに戻るには[EXIT]とタイプしてください。  " );
  2840.  
  2841. DCN_exec( dcn, 0, "ORICON" );
  2842. return ((0));
  2843. }
  2844. # 255 "dcn.cci"
  2845. int DcnUsr_func_11( char *dcn )
  2846. {
  2847. DCN_help(dcn);
  2848. }
  2849. # 264 "dcn.cci"
  2850. int DcnUsr_func_12( char *dcn )
  2851. {
  2852. return DCN_resizeMax(dcn);
  2853. }
  2854. # 273 "dcn.cci"
  2855. int DcnUsr_func_32( char *dcn )
  2856. {
  2857. return DCN_resizeMin(dcn);
  2858. }
  2859.  
  2860.  
  2861. char *DcnTbl_scnSave[(2)] =
  2862. {
  2863. "ARICON", "ORICON"
  2864. };
  2865.  
  2866.  
  2867.  
  2868. char *DcnTbl_ignore[(3)] =
  2869. {
  2870. "386", "RUN386", "OAK"
  2871. };
  2872.  
  2873.  
  2874.  
  2875. char *DcnTbl_check[(2)] =
  2876. {
  2877. "POFF", "REIPL"
  2878. };
  2879.  
  2880. char *DcnTbl_pfkey[24] =
  2881. {
  2882. "MENU", "DIR", "TOOL", "UTY", "SETUP",
  2883. "CD.DIC",
  2884. # 309 "dcn.cci"
  2885. "",
  2886.  
  2887. "ISH", "MIEL", "ORICON",
  2888. "HELP", "▲▼",
  2889.  
  2890. "", "", "", "", "",
  2891. "", "", "", "", "",
  2892. "",
  2893. "▽△"
  2894. };
  2895.  
  2896. char *DcnTbl_metakey[26] =
  2897. {
  2898. "assign ",
  2899. "tar cvmf :0BACKUP ",
  2900. "cmode ",
  2901. "dtree ",
  2902. "etom -playsub ctrl -rym 10 ",
  2903. "files ",
  2904. "grep ",
  2905. "hcfilter ",
  2906. "indent -ip1 -bl -cli4 -npcs -npsl -ncs -di12 ",
  2907. "jgawk ",
  2908. "kran ",
  2909. "ldiff ",
  2910. "mitags *.h *.c > tags",
  2911. "nifsave ",
  2912. "ORICON ",
  2913. "mipp ",
  2914. "qw ",
  2915. "rdoak2 ",
  2916. "strings ",
  2917. "tab -D4 ",
  2918. "undel ",
  2919. "vcopy ",
  2920. "whereis ",
  2921. "xcopy ",
  2922. "yacc ",
  2923. "zf "
  2924. };
  2925. # 354 "dcn.cci"
  2926. int DcnUsr_sysInit()
  2927. {
  2928. char *s;
  2929. int i;
  2930.  
  2931. if ( (s = getenv("COMSPEC")) == (0) )
  2932. strcpy( _cns_comspec, "C:\\COMMAND.COM /C" );
  2933. else
  2934. sprintf( _cns_comspec, "%s /C", s );
  2935. _cns_console = "oricon";
  2936.  
  2937.  
  2938. for ( i = 0; i < (2); ++i )
  2939. DcnSetCommand( DcnTbl_scnSave[i], (0x40));
  2940.  
  2941.  
  2942. for ( i = 0; i < (3); ++i )
  2943. DcnSetCommand( DcnTbl_ignore[i], (0x80));
  2944.  
  2945.  
  2946. for ( i = 0; i < (2); ++i )
  2947. DcnSetCommand( DcnTbl_check[i], (0x20));
  2948.  
  2949.  
  2950. DcnSetCommand("LHx" ,(8));
  2951. DcnSetCommand("he386p" ,(8));
  2952. DcnSetCommand("sz" ,(8));
  2953. DcnSetCommand("rz" ,(8));
  2954. DcnSetCommand("gsplay" ,(8)|(0x40));
  2955. DcnSetCommand("cci" ,(8)|(0x40));
  2956. DcnSetCommand("znsplay",(8)|(0x40));
  2957.  
  2958.  
  2959. for ( i = 0; i <24; ++i )
  2960. DCN_setPfkeyMsg( (i%12)+1, i/12, DcnTbl_pfkey[i] );
  2961.  
  2962.  
  2963. for ( i = 0; i <26; ++i )
  2964. DcnMetaKeySet('A'+i, DcnTbl_metakey[i]);
  2965.  
  2966. return ((0));
  2967. }
  2968.  
  2969. int DcnUsr_sysTerm()
  2970. {
  2971. return ((0));
  2972. }
  2973. # 406 "dcn.cci"
  2974. int DcnUsr_system( char *dcn, char *cmd )
  2975. {
  2976. DCN_system(dcn, cmd);
  2977. return ((0));
  2978. }
  2979. # 31 "ntm.cci"
  2980. int ntm_dialStart( char *ntm, char *tel )
  2981. {
  2982. int ret, count, i, argc;
  2983. char **argv;
  2984. char *mosTk;
  2985. char *center;
  2986. char *cmd;
  2987.  
  2988. if ( tel == (0) || tel[0] == '\0' )
  2989. {
  2990. TEL_ERR:
  2991. DLG_tmpMsgTime( (0x10020), (0x10020),
  2992. 1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
  2993. AplErrMsgTime, "    電話番号が指定されていません。  " );
  2994. return ((-1));
  2995. }
  2996. argc = FS_argSet( tel, &argv );
  2997. if ( argc < 1 )
  2998. goto TEL_ERR;
  2999.  
  3000. mosTk = MOS_push();
  3001. MOS_curType((120));
  3002. if ( (center = NtmGetCenterPtr(ntm)) == (0) )
  3003. {
  3004. cmd = (0);
  3005. } else
  3006. {
  3007. cmd = NtmCenterGetModem1(center);
  3008. if ( cmd[0] == '\0' )
  3009. cmd = (0);
  3010. }
  3011. if ( cmd )
  3012. NTM_rsPuts(ntm,cmd);
  3013. else
  3014. NTM_rsPuts(ntm,"ATZ");
  3015. NTM_rsPuts(ntm,"\r");
  3016. ret = NTM_waitStr( ntm, 30, "OK", (0) );
  3017. if ( ret < 0 )
  3018. {
  3019. DLG_tmpMsgTime( (0x10020), (0x10020),
  3020. 1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
  3021. AplErrMsgTime, "    Modem not ready!!    " );
  3022. ERR_RET:
  3023. MOS_pop( mosTk );
  3024. FS_argClear( argc, argv );
  3025. return ((-1));
  3026. }
  3027. if ( center )
  3028. {
  3029. NTM_wait(1);
  3030. cmd = NtmCenterGetModem2(center);
  3031. if ( cmd[0] != '\0' )
  3032. {
  3033. NTM_rsPuts(ntm,cmd);
  3034. NTM_rsPuts(ntm,"\r");
  3035. NTM_wait(2);
  3036. }
  3037. }
  3038.  
  3039. count = 0;
  3040. ret = 1;
  3041. while ( ret )
  3042. {
  3043. for ( i = 0; i < argc; ++i )
  3044. {
  3045. NTM_rsPuts(ntm, "ATD");
  3046. NTM_rsPuts(ntm, argv[i] );
  3047. NTM_rsPuts(ntm, "\r" );
  3048. MOS_curDisp(1);
  3049. EVT_idl();
  3050. ret = NTM_waitStr( ntm, 30, "CONNECT","BUSY","NO CARRIER", (0) );
  3051. if ( ret == 0 )
  3052. { SYL_puts(12,"<<<<< CONNECT >>>>>");
  3053. break;
  3054. } else if ( ret < 0 )
  3055. goto ERR_RET;
  3056. if ( NTM_wait(5) != (0) )
  3057. goto ERR_RET;
  3058. ++count;
  3059. }
  3060. }
  3061. NTM_online( ntm );
  3062. MOS_pop(mosTk);
  3063. FS_argClear( argc, argv );
  3064.  
  3065. return ((0));
  3066. }
  3067.  
  3068. int ntm_chDir( char *dir )
  3069. {
  3070. int len;
  3071. char tmp[128];
  3072.  
  3073. if ( (len = strlen(dir)) == 0 )
  3074. return ((0));
  3075. if ( len > 2 && isalpha(*dir) && dir[1] == ':' )
  3076. {
  3077. FS_chdrv( toupper(*dir) - 'A' );
  3078. }
  3079. if ( len > 0 && FS_isdelim(dir[len-1]) )
  3080. {
  3081. sprintf( tmp, "%s.", dir );
  3082. FS_chdir( tmp );
  3083. } else
  3084. FS_chdir( dir );
  3085. return ((0));
  3086. }
  3087.  
  3088. int ntmSetDownloadDir( char *ntm )
  3089. {
  3090. char *center;
  3091. char *dir;
  3092.  
  3093. if ( (center = NtmGetCenterPtr(ntm)) == (0) )
  3094. return ((-1));
  3095. dir = NtmCenterGetDownDir(center);
  3096. return ntm_chDir( dir );
  3097. }
  3098.  
  3099. int ntmSetUploadDir( char *ntm )
  3100. {
  3101. char *center;
  3102. char *dir;
  3103.  
  3104. if ( (center = NtmGetCenterPtr(ntm)) == (0) )
  3105. return ((-1));
  3106. dir = NtmCenterGetUpDir(center);
  3107. return ntm_chDir( dir );
  3108. }
  3109. # 166 "ntm.cci"
  3110. int ntmUsr_evtFunc( int evtNo, char *sbj )
  3111. {
  3112. return NTM_cmdJump( GetEvtSbjPtr(sbj), evtNo );
  3113. }
  3114. # 175 "ntm.cci"
  3115. int NtmUsr_commandMenu( char *ntm, int x, int y )
  3116. {
  3117. int ret;
  3118. char *mnu;
  3119. char *obj;
  3120. char *func;
  3121.  
  3122. func = "ntmUsr_evtFunc";
  3123. obj = MNU_alloc(3);
  3124. MNU_setObj(obj, 0, (2), '1', "Input line on" , (0), (1001) ,func, ntm );
  3125. MNU_setObj(obj, 1, (2), '2', "Input line off" , (0), (1002) ,func, ntm );
  3126. MNU_setObj(obj, 2, (2), 'B', "Break" , (0), (1003) ,func, ntm );
  3127. mnu = MNU_open( x, y, (1), obj, "COMMAND MENU" );
  3128. ret = MNU_start ( mnu );
  3129. MNU_close(mnu);
  3130. MNU_free(obj);
  3131.  
  3132. return (ret);
  3133. }
  3134.  
  3135. int ntmPrintCutBuf()
  3136. {
  3137. return TDP_printCutBuf((0));
  3138. }
  3139. # 204 "ntm.cci"
  3140. int NtmUsr_fileMenu( char *ntm, int x, int y )
  3141. {
  3142. int ret;
  3143. char *mnu;
  3144. char *obj;
  3145. char *func;
  3146.  
  3147. func = "ntmUsr_evtFunc";
  3148. obj = MNU_alloc(5);
  3149. MNU_setObj(obj, 0, (2), 'S', "Save log buffer" , (0), (1101) , func, ntm );
  3150. MNU_setObj(obj, 1, (2), 'C', "Clear log buffer" , (0), (1102), func, ntm );
  3151. MNU_setObj(obj, 2, (2), 'T', "Append to Text" , (0), (1103) , func, ntm );
  3152. MNU_setObj(obj, 3, (0), 0 , (0) , (0), 0 , (0), (0));
  3153. MNU_setObj(obj, 4, (2), 'P', "Print CUT-BUFFER" , (0), 0 , "ntmPrintCutBuf", ntm );
  3154. mnu = MNU_open( x, y, (1), obj, "MENU" );
  3155. ret = MNU_start ( mnu );
  3156. MNU_close(mnu);
  3157. MNU_free(obj);
  3158.  
  3159. return (ret);
  3160. }
  3161. # 230 "ntm.cci"
  3162. int ntm_textUpload( int ret, char *sbj )
  3163. {
  3164. char *ntm;
  3165. char *fdl;
  3166. char *fn;
  3167.  
  3168. ntm = GetEvtSbjPtr(sbj);
  3169. if ( (fdl = FDL_open(0)) == (0) )
  3170. return ((-1));
  3171. FDL_set_title( fdl,"TEXT FILE UPLOAD");
  3172. FDL_set_wildcard( fdl, "*.*");
  3173. ret = FDL_start(fdl);
  3174. fn = FDL_get_filename(fdl);
  3175. if ( ret == (0) && strlen(fn) > 0 )
  3176. {
  3177. NTM_fileUpload( ntm, fn );
  3178. }
  3179. FDL_close(fdl);
  3180.  
  3181. return ((0));
  3182. }
  3183. # 256 "ntm.cci"
  3184. int ntm_Xupload( int ret, char *sbj )
  3185. {
  3186. char *ntm;
  3187. char *fdl;
  3188. char *fn;
  3189.  
  3190. ntm = GetEvtSbjPtr(sbj);
  3191. if ( (fdl = FDL_open(0)) == (0) )
  3192. return ((-1));
  3193. FDL_set_title( fdl,"X-MODEM FILE UPLOAD");
  3194. FDL_set_wildcard( fdl, "*.*");
  3195. ret = FDL_start(fdl);
  3196. fn = FDL_get_filename(fdl);
  3197. if ( ret == (0) && strlen(fn) > 0 )
  3198. {
  3199. NTM_Xupload( ntm, fn );
  3200. }
  3201. FDL_close(fdl);
  3202.  
  3203. return ((0));
  3204. }
  3205.  
  3206. char *ntm_getPara_rzsz(char *ntm)
  3207. {
  3208. char *rsb;
  3209. int baud, md;
  3210. char *spd, mode[8];
  3211. static char tmp[256];
  3212.  
  3213. rsb = NtmGetRsbPtr(ntm);
  3214. md = _getByte(rsb);
  3215. baud = _getByte(rsb + 1);
  3216. switch ( baud )
  3217. {
  3218. case 0: spd = "300"; break;
  3219. case 1: spd = "600"; break;
  3220. case 2: spd = "1200"; break;
  3221. case 3: spd = "2400"; break;
  3222. case 4: spd = "4800"; break;
  3223. case 5: spd = "9600"; break;
  3224. case 6: spd = "19200"; break;
  3225. }
  3226. mode[0] = ( md & 1 ) ? '8' : '7';
  3227. mode[1] = ( md & 2 ) ? (md & 4 ? 'E':'O') : 'N';
  3228. mode[2] = ( md & 8 ) ? '2' : '1';
  3229. mode[3] = '\0';
  3230.  
  3231. sprintf( tmp,"$-b%s $-m%s", spd, mode );
  3232. return (tmp);
  3233. }
  3234.  
  3235.  
  3236. char *SZ_PATH_KEY = "Sz_path";
  3237.  
  3238. int ntm_EXupload( int ret, char *sbj )
  3239. {
  3240. int ret;
  3241. char *ntm;
  3242. char *dlg;
  3243. char cmd[1024];
  3244. char *p, prog[128];
  3245. int argc;
  3246. char **argv;
  3247.  
  3248. char *fdl;
  3249. char *fnptr, fn[256];
  3250.  
  3251. if ( (fdl = FDL_open(0)) == (0) )
  3252. return ((-1));
  3253. FDL_set_title( fdl,"FILE UPLOAD (EXTERNAL COMMAND)");
  3254. FDL_set_wildcard( fdl, "*.*");
  3255. ret = FDL_start(fdl);
  3256. fnptr = FDL_get_filename(fdl);
  3257. if ( ret == (0) && strlen(fnptr) > 0 )
  3258. {
  3259. strcpy( fn, fnptr );
  3260. } else
  3261. fn[0] = '\0';
  3262. FDL_close(fdl);
  3263. if ( fn[0] == '\0' )
  3264. return ((0));
  3265.  
  3266. if ( (p = AMAC_getName(SysMacro,SZ_PATH_KEY)) == (0) )
  3267. {
  3268.  
  3269.  
  3270.  
  3271. sprintf( prog, "%ssz.exp", AplGetStartPath());
  3272.  
  3273. AMAC_setKey( SysMacro, SZ_PATH_KEY, prog );
  3274. } else
  3275. strcpy( prog, p );
  3276.  
  3277. ntm = GetEvtSbjPtr(sbj);
  3278. dlg = DLG_getsOpen( (0x10010), (0x10010), 560,
  3279. " Command & parameters " );
  3280. DLG_getsSetTitle( dlg, "Call external command" );
  3281. sprintf( cmd, "%s $sz $-q %s %s", prog, ntm_getPara_rzsz(ntm), fn );
  3282. ret = DLG_getsStart( dlg, 1023, cmd );
  3283. DLG_getsClose(dlg);
  3284.  
  3285. if ( ret > 0 && cmd[0] )
  3286. {
  3287. argc = FS_argSet( cmd, &argv );
  3288. if ( argc > 0 )
  3289. {
  3290. if ( strcmpi( argv[0], prog ) )
  3291. {
  3292. strcpy( prog, argv[0] );
  3293. AMAC_setKey( SysMacro, SZ_PATH_KEY, prog );
  3294. }
  3295. FS_argClear( argc, argv );
  3296. }
  3297. AplDtaInit();
  3298. AplDtaSetStr( "$MainArg", "%s", cmd );
  3299.  
  3300. AplPclExec( prog, 0 );
  3301. }
  3302. return ((0));
  3303. }
  3304. # 382 "ntm.cci"
  3305. int NtmUsr_uploadMenu( char *ntm, int x, int y )
  3306. {
  3307. int ret;
  3308. char *mnu;
  3309. char *obj;
  3310. char *func;
  3311. int no, onum;
  3312.  
  3313. ntmSetUploadDir( ntm );
  3314. func = "ntmUsr_evtFunc";
  3315. onum = 4;
  3316.  
  3317. ++onum;
  3318.  
  3319. obj = MNU_alloc(onum);
  3320.  
  3321. no = 0;
  3322. MNU_setObj(obj, no++, (2), 'C', "Send CUT-BUFFER" , (0), (1201), func, ntm );
  3323. MNU_setObj(obj, no++, (2), 'T', "Send text buffer" , (0), (1202), func, ntm );
  3324. MNU_setObj(obj, no++, (2), 'N', "Normal file upload" , (0), 0, "ntm_textUpload", ntm );
  3325. MNU_setObj(obj, no++, (2), 'X', "X-Modem upload" , (0), 0, "ntm_Xupload" , ntm );
  3326.  
  3327. MNU_setObj(obj, no++, (2), 'E', "Upload (External)" , (0), 0, "ntm_EXupload" , ntm );
  3328.  
  3329. mnu = MNU_open( x, y, (1), obj, "UPLOAD" );
  3330. ret = MNU_start ( mnu );
  3331. MNU_close(mnu);
  3332. MNU_free(obj);
  3333.  
  3334. return (ret);
  3335. }
  3336. # 419 "ntm.cci"
  3337. int ntm_textDownload( int ret, char *sbj )
  3338. {
  3339. char *ntm;
  3340. char *fdl;
  3341. char *fn;
  3342.  
  3343. ntm = GetEvtSbjPtr(sbj);
  3344.  
  3345. if ( NTM_fileDownCheck(ntm) )
  3346. return ((-1));
  3347.  
  3348. if ( (fdl = FDL_open(0)) == (0) )
  3349. return ((-1));
  3350. FDL_set_title( fdl,"TEXT FILE DOWNLOAD");
  3351. FDL_set_wildcard( fdl, "*.*");
  3352. ret = FDL_start(fdl);
  3353. fn = FDL_get_filename(fdl);
  3354. if ( ret == (0) && strlen(fn) > 0 )
  3355. {
  3356. NTM_fileDownload( ntm, fn );
  3357. }
  3358. FDL_close(fdl);
  3359.  
  3360. return ((0));
  3361. }
  3362. # 449 "ntm.cci"
  3363. int ntm_Xdownload( int ret, char *sbj )
  3364. {
  3365. char *ntm;
  3366. char *fdl;
  3367. char *fn;
  3368.  
  3369. ntm = GetEvtSbjPtr(sbj);
  3370. if ( (fdl = FDL_open(0)) == (0) )
  3371. return ((-1));
  3372. FDL_set_title( fdl,"X-MODEM FILE DOWNLOAD");
  3373. FDL_set_wildcard( fdl, "*.*");
  3374. ret = FDL_start(fdl);
  3375. fn = FDL_get_filename(fdl);
  3376. if ( ret == (0) && strlen(fn) > 0 )
  3377. {
  3378. NTM_Xdownload( ntm, fn );
  3379. }
  3380. FDL_close(fdl);
  3381.  
  3382. return ((0));
  3383. }
  3384.  
  3385.  
  3386. char *RZ_PATH_KEY = "Rz_path";
  3387.  
  3388. int ntm_EXdownload( int ret, char *sbj )
  3389. {
  3390. int ret;
  3391. char *ntm;
  3392. char *dlg;
  3393. char cmd[1024];
  3394. char *p, prog[128];
  3395. int argc;
  3396. char **argv;
  3397.  
  3398. if ( (p = AMAC_getName( SysMacro, RZ_PATH_KEY)) == (0) )
  3399. {
  3400.  
  3401.  
  3402.  
  3403. sprintf( prog, "%srz.exp", AplGetStartPath());
  3404.  
  3405. AMAC_setKey( SysMacro, RZ_PATH_KEY, prog );
  3406. } else
  3407. strcpy( prog, p );
  3408. ntm = GetEvtSbjPtr(sbj);
  3409. dlg = DLG_getsOpen( (0x10010), (0x10010), 560,
  3410. " Command & parameters " );
  3411. DLG_getsSetTitle( dlg, "Call external command" );
  3412. sprintf( cmd, "%s $-q $rz %s", prog, ntm_getPara_rzsz(ntm) );
  3413. ret = DLG_getsStart( dlg, 1023, cmd );
  3414. DLG_getsClose(dlg);
  3415.  
  3416. if ( ret > 0 && cmd[0] )
  3417. {
  3418. argc = FS_argSet( cmd, &argv );
  3419. if ( argc > 0 )
  3420. {
  3421. if ( strcmpi( argv[0], prog ) )
  3422. {
  3423. strcpy( prog, argv[0] );
  3424. AMAC_setKey( SysMacro, RZ_PATH_KEY, prog );
  3425. }
  3426. FS_argClear( argc, argv );
  3427. }
  3428. AplDtaInit();
  3429. AplDtaSetStr( "$MainArg", "%s", cmd );
  3430. AplPclExec( prog, 0 );
  3431. }
  3432. return ((0));
  3433. }
  3434. # 574 "ntm.cci"
  3435. int NtmUsr_downloadMenu( char *ntm, int x, int y )
  3436. {
  3437. int ret;
  3438. char *mnu;
  3439. char *obj;
  3440. char *func;
  3441. int no, onum;
  3442.  
  3443. ntmSetDownloadDir( ntm );
  3444. func = "ntmUsr_evtFunc";
  3445. onum = 2;
  3446. # 589 "ntm.cci"
  3447. ++onum;
  3448.  
  3449. obj = MNU_alloc(onum);
  3450. no = 0;
  3451. MNU_setObj(obj, no++, (2), 'N', "Normal file download" , (0), 0, "ntm_textDownload", ntm );
  3452. MNU_setObj(obj, no++, (2), 'X', "X-Modem download" , (0), 0, "ntm_Xdownload" , ntm );
  3453.  
  3454. MNU_setObj(obj, no++, (2), 'E', "Download (External)" , (0), 0, "ntm_EXdownload" , ntm );
  3455. # 601 "ntm.cci"
  3456. mnu = MNU_open( x, y, (1), obj, "DOWNLOAD" );
  3457. ret = MNU_start ( mnu );
  3458. MNU_close(mnu);
  3459. MNU_free(obj);
  3460.  
  3461. return (ret);
  3462. }
  3463. # 613 "ntm.cci"
  3464. int ntm_directDial( char *ntm )
  3465. {
  3466. int ret;
  3467. char *dlg;
  3468. static char tel[256];
  3469.  
  3470. dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
  3471. "電話番号を入力してください。");
  3472. DLG_getsSetTitle( dlg, "DIAL" );
  3473. ret = DLG_getsStart( dlg, 255, tel );
  3474. DLG_getsClose(dlg);
  3475. if ( ret > 0 )
  3476. {
  3477. ntm_dialStart( ntm, tel );
  3478. }
  3479. return ((0));
  3480. }
  3481.  
  3482. int ntm_centerSelect( char *ntm )
  3483. {
  3484. char *center;
  3485. char *keyWord;
  3486.  
  3487. if ( (center = NTM_centerSelect()) != (0) )
  3488. { keyWord = NtmCenterGetKeyWord( center );
  3489. NTM_setCenter( ntm, keyWord );
  3490. }
  3491. return ((0));
  3492. }
  3493. # 647 "ntm.cci"
  3494. int NtmUsr_autoFreeMenu( char *ntm, int x, int y )
  3495. {
  3496. int ret;
  3497. char *obj;
  3498. char *mnu;
  3499.  
  3500. obj = MNU_alloc(5);
  3501. MNU_setObj(obj, 0, (2), 'D', "ダイアル" , (0), 1, (0), (0) );
  3502. MNU_setObj(obj, 1, (2), 'S', "カレント・センター指定", (0), 2, (0), (0) );
  3503. MNU_setObj(obj, 2, (0), 0 , (0) , (0), 0, (0), (0) );
  3504. MNU_setObj(obj, 3, (2), 'N', "新規センター登録" , (0), 3, (0), (0) );
  3505. MNU_setObj(obj, 4, (2), 'K', "センターデータ削除" , (0), 4, (0), (0) );
  3506. mnu = MNU_open( x, y, (1), obj, "AUTO MENU" );
  3507. ret = MNU_start ( mnu );
  3508. MNU_close(mnu);
  3509. MNU_free(obj);
  3510. switch( ret )
  3511. {
  3512. case 1: ret = ntm_directDial(ntm); break;
  3513. case 2: ret = ntm_centerSelect(ntm); break;
  3514. case 3: ret = NTM_makeNewCenter(); break;
  3515. case 4: ret = NTM_centerDelete(); break;
  3516. }
  3517. return (ret);
  3518. }
  3519. # 678 "ntm.cci"
  3520. int NtmUsr_autoOffLineMenu( char *ntm, int x, int y )
  3521. {
  3522. int ret, n;
  3523. char *center;
  3524. char *name, *keyWord;
  3525. char *obj;
  3526. char *mnu;
  3527.  
  3528. center = NtmGetCenterPtr( ntm );
  3529. if ( center == (0) )
  3530. {
  3531. return NtmUsr_autoFreeMenu( ntm, x, y );
  3532. } else
  3533. {
  3534. NTM_callCenterFunc( ntm, "naviInit" );
  3535.  
  3536. name = NtmCenterGetName( center);
  3537. keyWord = NtmCenterGetKeyWord(center);
  3538.  
  3539.  
  3540.  
  3541. n = 6;
  3542.  
  3543. obj = MNU_alloc( n );
  3544. n = 0;
  3545. MNU_setObj(obj, n++, (2), 'L', "オートログイン" , (0), 1, (0), (0) );
  3546. # 708 "ntm.cci"
  3547. MNU_setObj(obj, n++, (2), 'C', "センターデータ設定" , (0), 3, (0), (0) );
  3548. MNU_setObj(obj, n++, (2), 'S', "カレント・センター変更", (0), 4, (0), (0) );
  3549. MNU_setObj(obj, n++, (0), 0 , (0) , (0), 0, (0), (0) );
  3550. MNU_setObj(obj, n++, (2), 'N', "新規センター登録" , (0), 5, (0), (0) );
  3551. MNU_setObj(obj, n++, (2), 'K', "センターデータ削除" , (0), 6, (0), (0) );
  3552. mnu = MNU_open( x, y, (1), obj, name );
  3553. ret = MNU_start ( mnu );
  3554. MNU_close(mnu);
  3555. MNU_free(obj);
  3556. switch ( ret )
  3557. {
  3558. case 1:
  3559. return NTM_callLogin( ntm );
  3560. # 725 "ntm.cci"
  3561. case 3:
  3562. ret = NTM_centerConfig( keyWord );
  3563. if ( ret == (0) )
  3564. {
  3565. NTM_setCenter( ntm, keyWord );
  3566. }
  3567. return (ret);
  3568. case 4:
  3569. return ntm_centerSelect(ntm); break;
  3570. case 5:
  3571. return NTM_makeNewCenter();
  3572. case 6:
  3573. return NTM_centerDelete();
  3574. }
  3575. return ((0));
  3576. }
  3577. }
  3578. # 747 "ntm.cci"
  3579. int NtmUsr_autoOnLineMenu( char *ntm, int x, int y )
  3580. {
  3581. int ret;
  3582. char *center;
  3583. char *obj;
  3584. char *mnu;
  3585.  
  3586. center = NtmGetCenterPtr( ntm );
  3587. if ( center == (0) )
  3588. {
  3589. obj = MNU_alloc(1);
  3590. MNU_setObj(obj, 0, (2), 'O', "OFF 回線切断", (0), 1, (0), (0) );
  3591. mnu = MNU_open( x, y, (1), obj, "AUTO MENU" );
  3592. ret = MNU_start ( mnu );
  3593. MNU_close(mnu);
  3594. MNU_free(obj);
  3595. switch ( ret )
  3596. {
  3597. case 1: return NTM_offline(ntm,2);
  3598. }
  3599. return ((0));
  3600. } else
  3601. {
  3602. return NTM_callAutoMenu( ntm, x, y );
  3603. }
  3604. }
  3605.  
  3606. int _ntm_setFilterFunc( char *ntm, char *func )
  3607. {
  3608. int ret;
  3609.  
  3610. if ( (ret = NtmSetFilterFunc( ntm, func)) != (0) )
  3611. {
  3612. DLG_tmpMsgTime( (0x10020), (0x10020),
  3613. 1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
  3614. AplErrMsgTime, "    %s : \n    このフィルタ関数は他のウィンドゥで既に使われています。  ",
  3615. func );
  3616. } else
  3617. {
  3618. NtmFilterModeOn( ntm );
  3619. }
  3620. return (ret);
  3621. }
  3622. # 795 "ntm.cci"
  3623. int _ntm_inputFilterPtn( char *ntm )
  3624. {
  3625. int ret;
  3626. char *dlg;
  3627. char tmp[256];
  3628.  
  3629. strncpy( tmp, NtmGetFilterPtn(ntm), 255 );
  3630. tmp[255] = '\0';
  3631. dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
  3632. "%s", tmp );
  3633. DLG_getsSetTitle( dlg, "FILTER PATTERN" );
  3634. ret = DLG_getsStart( dlg, 255, tmp );
  3635. DLG_getsClose(dlg);
  3636. if ( ret > 0 )
  3637. {
  3638. if ( NtmSetFilterPtn(ntm,tmp,1) == (0) )
  3639. { NtmSetFilterFunc( ntm, (0) );
  3640. NtmFilterModeOn( ntm );
  3641. }
  3642. }
  3643.  
  3644. return ((0));
  3645. }
  3646.  
  3647. int _ntm_filterTest( char *ntm )
  3648. {
  3649. char *fdl;
  3650. char *fp;
  3651. int ret;
  3652. char *fn, tmp[256], buf[(512)];
  3653.  
  3654. if ( (fdl = FDL_open(0)) == (0) )
  3655. return ((-1));
  3656. FDL_set_title( fdl,"FILTER SEND FILE");
  3657. FDL_set_wildcard( fdl, "*.*");
  3658. ret = FDL_start(fdl);
  3659. fn = FDL_get_filename(fdl);
  3660. if ( ret == (0) && strlen(fn) > 0 )
  3661. {
  3662. strcpy( tmp, fn );
  3663. } else
  3664. ret = (-1);
  3665. FDL_close(fdl);
  3666.  
  3667. if ( ret == (0) )
  3668. {
  3669. NTM_puts( ntm, "\r\n***** FILTER TEST *****\r\n");
  3670. if ( (fp = FM_fopen( tmp,"rb")) == (0) )
  3671. { NTM_puts( ntm, "\r\n@ File open error!!\r\n");
  3672. return ((-1));
  3673. }
  3674. while ( fgets(buf,(512),fp) != (0) )
  3675. {
  3676. NTM_sendFilter( ntm, buf );
  3677. if ( kbhit() )
  3678. { NTM_puts( ntm, "\r\n***** BREAK *****\r\n");
  3679. break;
  3680. }
  3681. }
  3682. FM_fclose(fp);
  3683. }
  3684. return (0);
  3685. }
  3686. # 864 "ntm.cci"
  3687. int NtmUsr_filterMenu( char *ntm, int x, int y )
  3688. {
  3689. int ret;
  3690. char *obj;
  3691. char *mnu;
  3692.  
  3693. obj = MNU_alloc(3);
  3694. MNU_setObj(obj, 0, (2), 'F', "Set filter pattern" , (0), 1, (0), (0) );
  3695. MNU_setObj(obj, 1, (2), 'O', "Filter mode off" , (0), 2, (0), (0) );
  3696. MNU_setObj(obj, 2, (2), 'T', "Filter test" , (0), 3, (0), (0) );
  3697. mnu = MNU_open( x, y, (1), obj, "FILTER MENU" );
  3698. ret = MNU_start ( mnu );
  3699. MNU_close(mnu);
  3700. MNU_free(obj);
  3701. switch ( ret )
  3702. {
  3703. case 1:
  3704. _ntm_inputFilterPtn( ntm );
  3705. break;
  3706. case 2:
  3707. NtmSetFilterPtn( ntm, "",0 );
  3708. NtmSetFilterFunc( ntm, (0) );
  3709. NtmFilterModeOff( ntm );
  3710. break;
  3711. case 3:
  3712. _ntm_filterTest( ntm );
  3713. break;
  3714. }
  3715. return ((0));
  3716. }
  3717.  
  3718.  
  3719. int NtmUsr_func_01( char *ntm ) { return NTM_cmdJump( ntm, (1100) ); }
  3720. int NtmUsr_func_02( char *ntm ) { return NTM_cmdJump( ntm, (1200) ); }
  3721. int NtmUsr_func_03( char *ntm ) { return NTM_cmdJump( ntm, (1300) ); }
  3722. int NtmUsr_func_04( char *ntm ) { return NTM_cmdJump( ntm, (1400) ); }
  3723. int NtmUsr_func_05( char *ntm ) { return NTM_cmdJump( ntm, (1500) ); }
  3724. int NtmUsr_func_06( char *ntm ) { return NTM_cmdJump( ntm, (1005) ); }
  3725.  
  3726. int NtmUsr_func_10( char *ntm ) { return NTM_cmdJump( ntm, (1003) ); }
  3727. int NtmUsr_func_11( char *ntm ) { NTM_help( ntm ); return ((0)) ; }
  3728. int NtmUsr_func_12( char *ntm ) { return NTM_cmdJump( ntm, (1011) ); }
  3729. int NtmUsr_func_32( char *ntm ) { return NTM_cmdJump( ntm, (1012) ); }
  3730. # 912 "ntm.cci"
  3731. int NtmUsr_func_25( char *ntm )
  3732. {
  3733. char *cns;
  3734. int ret;
  3735. char *mnu;
  3736. char *obj;
  3737.  
  3738. cns = NtmGetCnsPtr( ntm );
  3739.  
  3740. obj = MNU_alloc(2);
  3741. MNU_setObj(obj, 0, (2), 'C' , "Change color table", (0), (1020), "ntmUsr_evtFunc", ntm );
  3742. MNU_setObj(obj, 1, (2), 'T' , "Save color table" , (0), 2 , (0) , (0) );
  3743.  
  3744. mnu = MNU_open( (0x10010), (0x10010),
  3745. (1), obj, "SETUP2" );
  3746. ret = MNU_start ( mnu );
  3747. MNU_close(mnu);
  3748. MNU_free(obj);
  3749.  
  3750. switch ( ret )
  3751. {
  3752. case 2: CnsUsr_saveColTbl( cns ); break;
  3753. }
  3754. return ((0));
  3755. }
  3756. # 6 "ntmlib.cci"
  3757. int _ntm_errmsg_no_setup_id_and_pw()
  3758. {
  3759. DLG_tmpMsgTime( (0x10020), (0x10020),
  3760. 1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
  3761. AplErrMsgTime, "    ID とパスワードが設定されていません。  " );
  3762. }
  3763.  
  3764. int _ntm_dspmsg_dial_start( char *name, char *tel, char *cns )
  3765. {
  3766. DLG_tmpMsgTime( (0x10030), (0x10030),
  3767. 1, 3, (0x1000|(((12)&15)<<4)|((7)&15)),
  3768. 3, "  %s にダイアルします。\n    tel. %s\n    ログ保存行数 %d", name, tel,CnsGet_maxLinBuf(cns) );
  3769. }
  3770. # 18 "nifty.cci"
  3771. int _nifty_fenix;
  3772. char *_nifty_recKey;
  3773. # 25 "nifty.cci"
  3774. int _NIFTY_init()
  3775. {
  3776. char *center;
  3777.  
  3778. if ( (center = NTM_centerAlloc( "NIFTY" )) != (0) )
  3779. {
  3780. NtmCenterSetName ( center, "NIFTY-Serve");
  3781. NtmCenterSetFuncKey( center, "NIFTY");
  3782. NtmCenterSetRecKey ( center, "NIFTY");
  3783. NtmCenterSetRsPara ( center, -1, -1, -1 );
  3784. NtmCenterSetRsBreak( center, 50 );
  3785. NtmCenterSetCrWait ( center, 100 );
  3786. NtmCenterSetTel ( center, "XX-XXXX-XXXX" );
  3787. NtmCenterSetPara ( center, "-fenix 2" );
  3788. NtmCenterSetModem1 ( center, "ATZ" );
  3789. }
  3790. # 47 "nifty.cci"
  3791. return ((0));
  3792. }
  3793. # 54 "nifty.cci"
  3794. int _NIFTY_naviInit( char *ntm, char *center )
  3795. {
  3796. # 63 "nifty.cci"
  3797. return ((0));
  3798. }
  3799. # 70 "nifty.cci"
  3800. int _NIFTY_para( char *ntm, char *center )
  3801. {
  3802. char *keyWord;
  3803. char *id, *pw;
  3804.  
  3805. keyWord = NtmCenterGetKeyWord(center);
  3806. if ( NTM_centerConfig( keyWord ) == (0) )
  3807. {
  3808. id = NtmCenterGetID ( center );
  3809. pw = NtmCenterGetPassword( center );
  3810. if ( id[0] == 0 || pw[0] == 0 )
  3811. return ((-1));
  3812. return ((0));
  3813. } else
  3814. return ((-1));
  3815. }
  3816. # 92 "nifty.cci"
  3817. int _NIFTY_abort( char *ntm, char *center )
  3818. {
  3819. AplRecWrite("%s:Abort", _nifty_recKey);
  3820. NTM_offline( ntm, 2 );
  3821. return ((0));
  3822. }
  3823. # 103 "nifty.cci"
  3824. int _NIFTY_autoMenu( char *ntm, char *center, int x, int y)
  3825. {
  3826. int ret;
  3827. char *obj;
  3828. char *mnu;
  3829. char title[128], tmp[128], tmBuf[32];
  3830. long loginTime;
  3831.  
  3832. loginTime = NtmCenterGetTime(center, (0) );
  3833. if ( loginTime )
  3834. { sprintf( tmp, "Login time %s ", GetAsciiTime(tmBuf, loginTime) );
  3835. } else
  3836. { strcpy ( tmp, "Login time XXXX/XX/XX XX:XX:XX");
  3837. }
  3838. obj = MNU_alloc(3);
  3839. MNU_setObj(obj, 0, (1), 0 , tmp , (0), 1, (0), (0) );
  3840. MNU_setObj(obj, 1, (2), 'O', "OFF 終了" , (0), 1, (0), (0) );
  3841. MNU_setObj(obj, 2, (2), 'B', "OFF 強制回線切断", (0), 2, (0), (0) );
  3842.  
  3843. sprintf( title, "MENU : %s", NtmCenterGetName(center));
  3844. mnu = MNU_open( x, y, (1), obj, title );
  3845. ret = MNU_start ( mnu );
  3846. MNU_close(mnu);
  3847. MNU_free(obj);
  3848. switch ( ret )
  3849. {
  3850. case 1:
  3851. return NTM_callLogout( ntm );
  3852. case 2:
  3853. NTM_wait(3);
  3854. AplRecWrite("%s:Abort disconnect", _nifty_recKey);
  3855. return NTM_offline(ntm, 2);
  3856. }
  3857. return ((0));
  3858. }
  3859. # 151 "nifty.cci"
  3860. int _NIFTY_login( char *ntm, char *center )
  3861. {
  3862. int i, ret, retry;
  3863. char *name, *tel, *id, *pw, *para;
  3864. int argc;
  3865. char *s, **argv;
  3866. long tm;
  3867. char *cns;
  3868. char *mos;
  3869. char *btn;
  3870.  
  3871. mos = (0);
  3872. cns = NtmGetCnsPtr(ntm);
  3873. # 171 "nifty.cci"
  3874. _nifty_recKey = NtmCenterGetRecKey(center);
  3875.  
  3876. name = NtmCenterGetName ( center );
  3877. tel = NtmCenterGetTel ( center );
  3878. id = NtmCenterGetID ( center );
  3879. pw = NtmCenterGetPassword( center );
  3880. if ( tel[0] == 0 || id[0] == 0 || pw[0] == 0 )
  3881. {
  3882. _ntm_errmsg_no_setup_id_and_pw();
  3883. if ( _NIFTY_para( ntm, center ) )
  3884. return ((-1));
  3885. id = NtmCenterGetID ( center );
  3886. pw = NtmCenterGetPassword( center );
  3887. tel = NtmCenterGetTel ( center );
  3888. }
  3889.  
  3890.  
  3891. _nifty_fenix = 2;
  3892. para = NtmCenterGetPara( center );
  3893. argc = FS_argSet( para, &argv );
  3894. if ( argc > 0 )
  3895. {
  3896. for ( i = 0; i < argc; ++i )
  3897. { s = argv[i];
  3898. if ( strcmpi( s, "-fenix") == 0 )
  3899. { s = argv[++i];
  3900. _nifty_fenix = atoi(s);
  3901. }
  3902. }
  3903. FS_argClear( argc, argv );
  3904. if ( _nifty_fenix < 1 || _nifty_fenix > 3 )
  3905. _nifty_fenix = 2;
  3906. }
  3907.  
  3908. _ntm_dspmsg_dial_start( name, tel, cns );
  3909.  
  3910. AplRecWrite("%s:Dial start tel.%s", _nifty_recKey, tel );
  3911. if ( ntm_dialStart( ntm, tel ) != (0) )
  3912. {
  3913. ABORT: _NIFTY_abort( ntm, center );
  3914. if ( mos ) MOS_pop(mos);
  3915. return ((-1));
  3916. }
  3917.  
  3918. mos = MOS_push();
  3919. MOS_curType((82));
  3920. MOS_curDisp(1);
  3921.  
  3922. AplRecWrite("%s:Connect", _nifty_recKey );
  3923.  
  3924. NTM_wait(2);
  3925. if ( _nifty_fenix == 2 || _nifty_fenix == 3 )
  3926. {
  3927. if ( _nifty_fenix == 2 )
  3928. {
  3929. retry = 0;
  3930. while ( 1 )
  3931. {
  3932. NTM_rsPuts( ntm, "@P\r");
  3933. ret = NTM_waitStr( ntm, 30, "*", (0) );
  3934. if ( ret == 0 )
  3935. { break;
  3936. } else if ( ret == (-3) )
  3937. { goto ABORT;
  3938. }
  3939.  
  3940. ++retry;
  3941. if ( retry > 5 )
  3942. goto ABORT;
  3943. }
  3944. } else
  3945. {
  3946. ret = NTM_waitStr( ntm, 30, "*", (0) );
  3947. if ( ret == (-3) )
  3948. goto ABORT;
  3949. }
  3950. retry = 0;
  3951. while ( 1 )
  3952. {
  3953. NTM_wait(1);
  3954. NTM_rsPuts(ntm, "C NIF\r");
  3955. NTM_wait(2);
  3956. ret = NTM_waitInstr(ntm,30," Enter Connection-ID  --->", "*", (0));
  3957. if ( ret == 0 )
  3958. { break;
  3959. } else if ( ret == 1 )
  3960. { ++retry;
  3961. if ( retry > 30 )
  3962. goto ABORT;
  3963. } else
  3964. goto ABORT;
  3965. }
  3966. } else
  3967. {
  3968. retry = 0;
  3969. while ( 1 )
  3970. { NTM_wait(1);
  3971. NTM_rsPuts(ntm,".00+");
  3972. ret = NTM_waitInstr(ntm, 30,"Enter Connection-ID  --->",
  3973. ".1", ".2", ".3", ".4", ".5",
  3974. ".6", ".7", ".8", ".9",
  3975. "NO CARRIER", (0) );
  3976. if ( ret == 0 )
  3977. {
  3978. break;
  3979. } else if ( ret < 10 )
  3980. {
  3981. ++retry;
  3982. if ( retry > 30 )
  3983. goto ABORT;
  3984. } else
  3985. {
  3986. goto ABORT;
  3987. }
  3988. }
  3989. }
  3990.  
  3991. NTM_wait(1);
  3992. NTM_rsPuts(ntm,"SVC\r");
  3993.  
  3994. ret = NTM_waitStr( ntm, 30, " Enter User-ID  --->", (0) );
  3995. if ( ret == (-3) )
  3996. goto ABORT;
  3997. NTM_wait(1);
  3998. NTM_rsPuts( ntm, id ); NTM_rsPuts(ntm,"\r");
  3999.  
  4000. ret = NTM_waitStr( ntm, 30, " Enter Password --->", (0));
  4001. if ( ret == (-3) )
  4002. goto ABORT;
  4003. NTM_wait(1);
  4004. NTM_rsPuts( ntm, pw ); NTM_rsPuts(ntm,"\r");
  4005.  
  4006.  
  4007. time(&tm);
  4008. NtmCenterSetTime( center, (0), tm );
  4009. AplRecWrite("%s:Login successful", _nifty_recKey );
  4010. MOS_pop(mos);
  4011.  
  4012. return ((0));
  4013. }
  4014. # 317 "nifty.cci"
  4015. int _NIFTY_logout( char *ntm, char *center )
  4016. {
  4017. int ret;
  4018. long tm;
  4019.  
  4020. time(&tm);
  4021. NtmCenterSetTime( center, (1), tm );
  4022. AplRecWrite("%s:Logout", _nifty_recKey);
  4023. NTM_wait(1);
  4024. NTM_rsPuts( ntm, "OFF\r");
  4025. if ( _nifty_fenix == 2 )
  4026. {
  4027. ret = NTM_waitStr( ntm, 60, "*", (0) );
  4028. if ( ret == 0 )
  4029. { NTM_wait(1);
  4030. NTM_rsPuts( ntm, "OFF\r");
  4031. }
  4032. NTM_waitInstr( ntm, 30, "NO CARRIER", (0) );
  4033. } else
  4034. { NTM_waitInstr( ntm, 60, "ご利用誠にありがとうございました。", (0) );
  4035. }
  4036. NTM_offline(ntm,2);
  4037. AplRecWrite("%s:Disconnect", _nifty_recKey);
  4038. # 345 "nifty.cci"
  4039. return ((0));
  4040. }
  4041. # 351 "nifty.cci"
  4042. int _NIFTY_lineCheck( char *ntm, char *buf )
  4043. {
  4044. return ((0));
  4045. }
  4046. # 360 "nifty.cci"
  4047. int _NIFTY_inputCheck( char *ntm, char *s )
  4048. {
  4049. NTM_rsPuts( ntm, s );
  4050. NTM_rsPuts( ntm, "\r" );
  4051. return ((0));
  4052. }
  4053. # 371 "nifty.cci"
  4054. char *_nif_amac = (0);
  4055.  
  4056. int _nif_open_amac()
  4057. {
  4058. char tmp[256];
  4059.  
  4060. if ( _nif_amac == (0) )
  4061. {
  4062. if ( (_nif_amac = AMAC_allocWork(0)) == (0) )
  4063. return ((-1));
  4064. sprintf( tmp,"%s%s", AplGetStartPath(), "nifty_id.tbl" );
  4065. AMAC_load( _nif_amac, tmp );
  4066. }
  4067. return ((0));
  4068. }
  4069. # 391 "nifty.cci"
  4070. int _nif_setAmac( char *ntm, int x, int y )
  4071. {
  4072. int ret;
  4073. char *obj;
  4074. char *mnu;
  4075.  
  4076. char *dlg;
  4077. char *s, id[8+4], handle[8+4];
  4078.  
  4079. char *fdl;
  4080. char *fn;
  4081.  
  4082. static char *_LOAD_TITLE = "LOAD ID TABLE DATA for NIFTY-Serve";
  4083. static char *_SAVE_TITLE = "SAVE ID TABLE DATA for NIFTY-Serve";
  4084.  
  4085. _nif_open_amac();
  4086.  
  4087. do
  4088. {
  4089. obj = MNU_alloc(3);
  4090. MNU_setObj(obj, 0, (2), 'I', "Set ID & handle name", (0), 1, (0), (0) );
  4091. MNU_setObj(obj, 1, (2), 'L', "Load ID table data" , (0), 2, (0), (0) );
  4092. MNU_setObj(obj, 2, (2), 'S', "Save ID table data" , (0), 3, (0), (0) );
  4093.  
  4094. mnu = MNU_open( x, y, (1), obj, "ID REGISTRATION MENU" );
  4095. ret = MNU_start ( mnu );
  4096. MNU_close(mnu);
  4097. MNU_free(obj);
  4098.  
  4099. switch ( ret )
  4100. {
  4101. case 1:
  4102. id[0] = '\0';
  4103. dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
  4104. "" );
  4105. DLG_getsSetTitle( dlg, "ID" );
  4106. ret = DLG_getsStart( dlg, 8, id );
  4107. id[8] = '\0';
  4108. DLG_getsClose(dlg);
  4109. if ( ret <= 0 )
  4110. { ret = (1);
  4111. break;
  4112. }
  4113.  
  4114. if( (s = AMAC_getName( _nif_amac, id )) == (0) )
  4115. handle[0] = '\0';
  4116. else
  4117. {
  4118. strncpy( handle, s, 8 );
  4119. handle[8] = '\0';
  4120. }
  4121. dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
  4122. "ID:%s", id );
  4123. DLG_getsSetTitle( dlg, "HANDLE" );
  4124. ret = DLG_getsStart( dlg, 8, handle );
  4125. handle[8] = '\0';
  4126. DLG_getsClose(dlg);
  4127. if ( ret < 0 )
  4128. { ret = (1);
  4129. break;
  4130. }
  4131. AMAC_setKey( _nif_amac, id, handle );
  4132. ret = 1;
  4133. break;
  4134.  
  4135. case 2:
  4136. if ( (fdl = FDL_open(0)) == (0) )
  4137. return ((-1));
  4138. FDL_set_title( fdl, _LOAD_TITLE );
  4139. FDL_set_wildcard( fdl, "*.tbl");
  4140. ret = FDL_start(fdl);
  4141. fn = FDL_get_filename(fdl);
  4142. if ( ret == (0) && strlen(fn) > 0 )
  4143. {
  4144. dlg = DLG_msgOpen( (0x10030),(0x10030),
  4145. 6*60,12*6, 1,3, (0x1000|(((12)&15)<<4)|((7)&15)),
  4146. _LOAD_TITLE );
  4147. DLG_msgSetConfig( dlg, 4, 6, 12 );
  4148. DLG_msgClear( dlg, -1 );
  4149. DLG_msgPrintf(dlg,"\r\n" );
  4150. DLG_msgPrintf(dlg,"FILE NAME : %s\r\n", fn );
  4151. if ( AMAC_load( _nif_amac, fn ) != (0) )
  4152. DLG_msgPrintf(dlg,"@ LOAD ERROR!!r\n" );
  4153. else
  4154. DLG_msgPrintf(dlg,"Ok!!\r\n", fn );
  4155. MNU_wait(3);
  4156. DLG_msgClose(dlg);
  4157. }
  4158. FDL_close(fdl);
  4159. ret = 1;
  4160. break;
  4161.  
  4162. case 3:
  4163. if ( (fdl = FDL_open(0)) == (0) )
  4164. return ((-1));
  4165. FDL_set_title( fdl, _SAVE_TITLE );
  4166. FDL_set_wildcard( fdl, "*.tbl");
  4167. ret = FDL_start(fdl);
  4168. fn = FDL_get_filename(fdl);
  4169. if ( ret == (0) && strlen(fn) > 0 )
  4170. {
  4171. dlg = DLG_msgOpen( (0x10030),(0x10030),
  4172. 6*60,12*6, 1,3, (0x1000|(((12)&15)<<4)|((7)&15)),
  4173. _SAVE_TITLE );
  4174. DLG_msgSetConfig( dlg, 4, 6, 12 );
  4175. DLG_msgClear( dlg, -1 );
  4176. DLG_msgPrintf(dlg,"\r\n" );
  4177. DLG_msgPrintf(dlg,"FILE NAME : %s\r\n", fn );
  4178. if ( AMAC_save( _nif_amac, fn, "NIFTY-Serve ID table" ) != (0) )
  4179. DLG_msgPrintf(dlg,"@ SAVE ERROR!!r\n" );
  4180. else
  4181. DLG_msgPrintf(dlg,"Ok!!\r\n", fn );
  4182. MNU_wait(3);
  4183. DLG_msgClose(dlg);
  4184. }
  4185. FDL_close(fdl);
  4186. ret = 1;
  4187. break;
  4188.  
  4189. default:
  4190. ret = 0;
  4191. break;
  4192. }
  4193. } while ( ret );
  4194.  
  4195. return ((0));
  4196. }
  4197. # 523 "nifty.cci"
  4198. int NiftyFilter_roomTitle( char *ntm, char *buf )
  4199. {
  4200. static int flag = 0;
  4201. static char *reptn_1 = (0);
  4202. static char *reptn_2 = (0);
  4203.  
  4204. if ( flag == 0 )
  4205. {
  4206. reptn_1 = RePtnAlloc("番号 発言 (未読)  最新  会議室名",0);
  4207.  
  4208.  
  4209. reptn_2 = RePtnAlloc("..     ... (....)   ../..   .*",0);
  4210. flag = 1;
  4211. }
  4212. if ( RePtnMatch( reptn_1, buf) == 0 )
  4213. { NTM_puts(ntm,"\r\n");
  4214. NTM_puts(ntm,buf);
  4215. } else if ( RePtnMatch( reptn_2, buf) == 0 )
  4216. NTM_puts(ntm,buf);
  4217. return (0);
  4218. }
  4219. # 549 "nifty.cci"
  4220. int NiftyFilter_confTitle( char *ntm, char *buf )
  4221. {
  4222. int i, len;
  4223. char key[8+4], *name;
  4224. static int flag = 0;
  4225. static char *reptn_1 = (0);
  4226. static char *reptn_2 = (0);
  4227. static char *reptn_3 = (0);
  4228. static char *reptn_4 = (0);
  4229. static char *reptn_5 = (0);
  4230. static char *reptn_6 = (0);
  4231.  
  4232. if ( flag == 0 )
  4233. {
  4234. _nif_open_amac();
  4235.  
  4236.  
  4237.  
  4238. reptn_1 = RePtnAlloc("- [A-Z].* MES(.[0-9]):.* -",0);
  4239.  
  4240. reptn_2 = RePtnAlloc("[0-9]../[0-9]..   ...[0-9]....  .* .*",0);
  4241.  
  4242.  
  4243.  
  4244.  
  4245. reptn_3 = RePtnAlloc("番号 ID       登録日      TO   CO   題名",0);
  4246.  
  4247.  
  4248. reptn_4 = RePtnAlloc(" ... ........ ../.. ..:.. ... ...   .*",0);
  4249.  
  4250.  
  4251.  
  4252.  
  4253. reptn_5 = RePtnAlloc("番号   ID       登録日      TO     CO 題名",0);
  4254.  
  4255. reptn_6 = RePtnAlloc(" .[ 0-9]... ........ ../.. ..:.. ..... ... .*",0);
  4256. flag = 1;
  4257. }
  4258.  
  4259. if ( *buf == '-' )
  4260. {
  4261. if ( RePtnMatch( reptn_1, buf) == 0 )
  4262. { NTM_puts(ntm,"\r\n");
  4263. NTM_puts(ntm,buf);
  4264. }
  4265. } else
  4266. {
  4267. len = strlen(buf);
  4268. if ( buf < 18 )
  4269. return;
  4270. if ( strncmp(buf,"番号",4) == 0 )
  4271. {
  4272. if ( RePtnMatch( reptn_3, buf) == 0
  4273. || RePtnMatch( reptn_5, buf) == 0 )
  4274. { NTM_puts(ntm,"\r\n");
  4275. NTM_puts(ntm,buf);
  4276. }
  4277. } else if ( strchr(buf,'/') )
  4278. {
  4279. if ( RePtnMatch( reptn_2, buf) == 0 )
  4280. NTM_puts(ntm,buf);
  4281. else if ( RePtnMatch( reptn_4, buf) == 0 )
  4282. {
  4283.  
  4284. strncpy( key, &buf[5], 8 ); key[8] = '\0';
  4285. if ( (name = AMAC_getName( _nif_amac, key )) != (0) )
  4286. {
  4287. for ( i = 0; i < 8; ++i )
  4288. { if ( *name )
  4289. { buf[5+i] = *name;
  4290. ++name;
  4291. } else
  4292. buf[5+i] = ' ';
  4293. }
  4294. }
  4295. NTM_puts(ntm,buf);
  4296. } else if ( RePtnMatch( reptn_6, buf) == 0 )
  4297. {
  4298.  
  4299. strncpy( key, &buf[7], 8 ); key[8] = '\0';
  4300. if ( (name = AMAC_getName( _nif_amac, key )) != (0) )
  4301. {
  4302. for ( i = 0; i < 8; ++i )
  4303. { if ( *name )
  4304. { buf[7+i] = *name;
  4305. ++name;
  4306. } else
  4307. buf[7+i] = ' ';
  4308. }
  4309. }
  4310. NTM_puts(ntm,buf);
  4311. }
  4312. }
  4313. }
  4314. return (0);
  4315. }
  4316.  
  4317. char *_niftyFilter_reptn_rtc = (0);
  4318. # 652 "nifty.cci"
  4319. int NiftyFilter_rtc( char *ntm, char *buf )
  4320. {
  4321. if ( _niftyFilter_reptn_rtc == (0) )
  4322. { _niftyFilter_reptn_rtc
  4323. = RePtnAlloc("([0-9],.*).*",0);
  4324. }
  4325. if ( *buf == '(' )
  4326. { if ( RePtnMatch( _niftyFilter_reptn_rtc, buf) == 0 )
  4327. NTM_puts(ntm,buf);
  4328. }
  4329. }
  4330.  
  4331. int _nif_set_rtcFilter( char *ntm )
  4332. {
  4333. char *dlg;
  4334. int ret, ch;
  4335. char tmp[16], ptn[128];
  4336.  
  4337. tmp[0] = '\0';
  4338. dlg = DLG_getsOpen( (0x10010), (0x10010), 320,
  4339. "表\示するチャンネルを指定してください。\n    (指定のない場合はすべて)    ");
  4340. DLG_getsSetTitle( dlg, "RTC FILTER" );
  4341. ret = DLG_getsStart( dlg, 15, tmp );
  4342. DLG_getsClose(dlg);
  4343. if ( ret >= 0 )
  4344. {
  4345. if ( ret == 0 )
  4346. strcpy( ptn, "([0-9]*,.*)");
  4347. else
  4348. {
  4349. if ( (ch = atoi(tmp)) < 1 )
  4350. return ((-1));
  4351. sprintf( ptn, "(%d,.*)", ch );
  4352. }
  4353. if ( _niftyFilter_reptn_rtc )
  4354. RePtnFree(_niftyFilter_reptn_rtc);
  4355. _niftyFilter_reptn_rtc = RePtnAlloc(ptn,0);
  4356. _ntm_setFilterFunc( ntm, "NiftyFilter_rtc");
  4357. return ((0));
  4358. } else
  4359. return ((-1));
  4360. }
  4361. # 700 "nifty.cci"
  4362. int NiftyFilter_dataLibrary( char *ntm, char *buf )
  4363. {
  4364. int i, len, sub;
  4365. char *center;
  4366. char *s, *t, fn[16], downFn[128];
  4367. char key[8+4], *name;
  4368. static int flag = 0;
  4369. static char *reptn_1 = (0);
  4370. static char *reptn_2 = (0);
  4371. static char *reptn_3 = (0);
  4372. static int headerLevel = 0;
  4373.  
  4374. if ( flag == 0 )
  4375. {
  4376. _nif_open_amac();
  4377.  
  4378.  
  4379. reptn_1 = RePtnAlloc("番号  ID       登録日付 バイト  参照   データ名",0);
  4380.  
  4381. reptn_2 = RePtnAlloc("..... ........ ../../.. ....... .... . .*",1);
  4382. reptn_3 = RePtnAlloc("処理 (.*)",0);
  4383. flag = 1;
  4384. }
  4385.  
  4386. len = strlen(buf);
  4387. if ( len > 42 && RePtnMatch( reptn_1, buf) == 0 )
  4388. { NTM_puts(ntm,"\r\n");
  4389. NTM_puts(ntm,buf);
  4390. headerLevel = 0;
  4391. } else if ( len > 40 && RePtnMatch( reptn_2, buf) == 0 )
  4392. {
  4393.  
  4394. strncpy( key, &buf[6], 8 ); key[8] = '\0';
  4395. if ( (name = AMAC_getName( _nif_amac, key )) != (0) )
  4396. {
  4397. for ( i = 0; i < 8; ++i )
  4398. { if ( *name )
  4399. { buf[6+i] = *name;
  4400. ++name;
  4401. } else
  4402. buf[6+i] = ' ';
  4403. }
  4404. }
  4405. NTM_puts(ntm,buf);
  4406. headerLevel = 0;
  4407. } else if ( len > 10 && strncmp( buf, "データ名:", 10) == 0 )
  4408. {
  4409. NTM_puts( ntm, "\r\n" );
  4410. NTM_puts( ntm, buf );
  4411. headerLevel = 1;
  4412.  
  4413. s = &buf[10];
  4414. if ( isspace(*s) )
  4415. return;
  4416. t = fn;
  4417. len = 0;
  4418. sub = 0;
  4419. while ( len < 13 )
  4420. {
  4421. if ( *s == '\0' || isspace(*s) )
  4422. { *t = '\0';
  4423. break;
  4424. } else if ( *s == '.' )
  4425. sub = 1;
  4426. *t = *s;
  4427. ++t;
  4428. ++s;
  4429. ++len;
  4430. }
  4431. if ( len > 12 )
  4432. return;
  4433. if ( sub == 0 && len < 8 && *s )
  4434. {
  4435. while( isspace(*s) )
  4436. ++s;
  4437. if ( *s == '.' )
  4438. {
  4439. while ( len < 13 )
  4440. { if ( *s == '\0' || isspace(*s) )
  4441. { *t = '\0';
  4442. break;
  4443. }
  4444. *t = *s;
  4445. ++s;
  4446. ++t;
  4447. ++len;
  4448. }
  4449. if ( len > 12 )
  4450. return;
  4451. }
  4452. }
  4453. if ( (center = NtmGetCenterPtr(ntm)) != (0) )
  4454. {
  4455. s = NtmCenterGetDownDir(center);
  4456. if ( s && *s )
  4457. sprintf( downFn, "%s/%s", s, fn );
  4458. } else
  4459. strcpy( downFn, fn );
  4460. NTM_setCmdStr( ntm, downFn );
  4461. } else if ( headerLevel > 0 )
  4462. {
  4463. if ( headerLevel < 7 )
  4464. {
  4465. if ( strncmp( &buf[8], ":",2) == 0 )
  4466. { NTM_puts( ntm, buf );
  4467. ++headerLevel;
  4468. }
  4469. } else
  4470. { if ( RePtnMatch( reptn_3, buf) == 0 )
  4471. { headerLevel = 0;
  4472. } else
  4473. NTM_puts( ntm, buf );
  4474. }
  4475. }
  4476. return ((0));
  4477. }
  4478. # 831 "nifty.cci"
  4479. int _NIFTY_filterMenu( char *ntm, int x, int y )
  4480. {
  4481. int ret;
  4482. char *obj;
  4483. char *mnu;
  4484.  
  4485. obj = MNU_alloc(10);
  4486. MNU_setObj(obj, 0, (2), 'F', "Set filter pattern" , (0), 1, (0), (0) );
  4487. MNU_setObj(obj, 1, (2), 'O', "Filter mode off" , (0), 2, (0), (0) );
  4488. MNU_setObj(obj, 2, (2), 'T', "Filter test" , (0), 3, (0), (0) );
  4489. MNU_setObj(obj, 3, (0), 0 , (0) , (0), 0, (0), (0) );
  4490. MNU_setObj(obj, 4, (2), '1', "Room title" , (0), 4, (0), (0) );
  4491. MNU_setObj(obj, 5, (2), '2', "Conferrence title" , (0), 5, (0), (0) );
  4492. MNU_setObj(obj, 6, (2), '3', "Data library" , (0), 6, (0), (0) );
  4493. MNU_setObj(obj, 7, (2), '4', "Real time conferrence", (0), 7, (0), (0) );
  4494. MNU_setObj(obj, 8, (0), 0 , (0) , (0), 0, (0), (0) );
  4495. MNU_setObj(obj, 9, (2), 'H', "Register Handle" , (0), 8, (0), (0) );
  4496.  
  4497. mnu = MNU_open( x, y, (1), obj, "FILTER MENU" );
  4498. ret = MNU_start ( mnu );
  4499. MNU_close(mnu);
  4500. MNU_free(obj);
  4501. switch ( ret )
  4502. {
  4503. case 1:
  4504. _ntm_inputFilterPtn( ntm );
  4505. break;
  4506. case 2:
  4507. NtmSetFilterPtn ( ntm, "",0 );
  4508. NtmSetFilterFunc( ntm, (0) );
  4509. NtmFilterModeOff( ntm );
  4510. break;
  4511. case 3:
  4512. _ntm_filterTest( ntm );
  4513. break;
  4514. case 4:
  4515. _ntm_setFilterFunc( ntm, "NiftyFilter_roomTitle");
  4516. break;
  4517. case 5:
  4518. _ntm_setFilterFunc( ntm, "NiftyFilter_confTitle");
  4519. break;
  4520. case 6:
  4521. _ntm_setFilterFunc( ntm, "NiftyFilter_dataLibrary");
  4522. break;
  4523. case 7:
  4524. _nif_set_rtcFilter( ntm );
  4525. break;
  4526. case 8:
  4527. _nif_setAmac(ntm,x,y);
  4528. break;
  4529. }
  4530. return ((0));
  4531. }
  4532.  
  4533.  
  4534. int CCI_dspNiftyStt()
  4535. {
  4536. char *center;
  4537. char *name;
  4538. long loginTime, logoutTime;
  4539. char t1[32], t2[32];
  4540.  
  4541. if ( (center = NTM_getCenter("NIFTY")) == (0) )
  4542. return ((-1));
  4543. name = NtmCenterGetName(center);
  4544. loginTime = NtmCenterGetTime( center, (0) );
  4545. logoutTime = NtmCenterGetTime( center, (1) );
  4546. DLG_tmpMsgBox( (0x10030), (0x10030),
  4547. 1, 3, (0x1000|(((12)&15)<<4)|((7)&15)),
  4548. "  センター名 : %s\n  Login time       %s  \n  Last logout time %s  ",
  4549. name, GetAsciiTime(t1, loginTime), GetAsciiTime(t2,logoutTime) );
  4550. return ((0));
  4551. }
  4552. # 19 "center01.cci"
  4553. char *_center01_recKey;
  4554.  
  4555. int _CENTER01_init()
  4556. {
  4557. char *center;
  4558.  
  4559. if ( (center = NTM_centerAlloc( "CENTER01" )) != (0) )
  4560. {
  4561. NtmCenterSetName ( center, "Sample center (type-01:BIG-Model)");
  4562. NtmCenterSetFuncKey( center, "CENTER01");
  4563. NtmCenterSetRecKey ( center, "CENTER01");
  4564. NtmCenterSetRsPara ( center, -1, -1, -1 );
  4565. NtmCenterSetRsBreak( center, 50 );
  4566. NtmCenterSetCrWait ( center, 100 );
  4567. NtmCenterSetTel ( center, "XX-XXXX-XXXX" );
  4568. NtmCenterSetModem1 ( center, "ATZ" );
  4569. }
  4570. return ((0));
  4571. }
  4572. # 44 "center01.cci"
  4573. int _CENTER01_naviInit( char *ntm, char *center )
  4574. {
  4575. # 49 "center01.cci"
  4576. return ((0));
  4577. }
  4578. # 56 "center01.cci"
  4579. int _CENTER01_para( char *ntm, char *center )
  4580. {
  4581. char *keyWord;
  4582. char *id, *pw;
  4583.  
  4584. keyWord = NtmCenterGetKeyWord(center);
  4585. if ( NTM_centerConfig( keyWord ) == (0) )
  4586. {
  4587. id = NtmCenterGetID ( center );
  4588. pw = NtmCenterGetPassword( center );
  4589. if ( id[0] == 0 || pw[0] == 0 )
  4590. return ((-1));
  4591. return ((0));
  4592. } else
  4593. return ((-1));
  4594. }
  4595. # 78 "center01.cci"
  4596. int _CENTER01_abort( char *ntm, char *center )
  4597. {
  4598. AplRecWrite("%s:Abort", _center01_recKey);
  4599. NTM_offline( ntm, 2);
  4600. return ((0));
  4601. }
  4602. # 89 "center01.cci"
  4603. int _CENTER01_autoMenu( char *ntm, char *center, int x, int y)
  4604. {
  4605. int ret;
  4606. char *obj;
  4607. char *mnu;
  4608. char title[128], tmp[128], tmBuf[32];
  4609. long loginTime;
  4610.  
  4611. if ( ntm == (0) || center == (0) )
  4612. return (0);
  4613. loginTime = NtmCenterGetTime(center, (0) );
  4614. if ( loginTime )
  4615. { sprintf( tmp, "Login time %s ", GetAsciiTime(tmBuf,loginTime) );
  4616. } else
  4617. { strcpy( tmp, "Login time XXXX/XX/XX XX:XX:XX");
  4618. }
  4619. obj = MNU_alloc(3);
  4620. MNU_setObj(obj, 0, (1), 0 , tmp , (0), 1, (0), (0) );
  4621. MNU_setObj(obj, 1, (2), 'O', "OFF 終了" , (0), 1, (0), (0) );
  4622. MNU_setObj(obj, 2, (2), 'B', "OFF 強制回線切断", (0), 2, (0), (0) );
  4623.  
  4624. sprintf( title, "MENU : %s", NtmCenterGetName(center));
  4625. mnu = MNU_open( x, y, (1), obj, title );
  4626. ret = MNU_start ( mnu );
  4627. MNU_close(mnu);
  4628. MNU_free(obj);
  4629. switch ( ret )
  4630. {
  4631. case 1:
  4632. return NTM_callLogout( ntm );
  4633. case 2:
  4634. NTM_wait(3);
  4635. AplRecWrite("%s:Abort disconnect", _center01_recKey);
  4636. return NTM_offline(ntm, 2);
  4637. }
  4638. return ((0));
  4639. }
  4640. # 131 "center01.cci"
  4641. int _CENTER01_login( char *ntm, char *center )
  4642. {
  4643. int i, ret, retry;
  4644. char *name, *tel, *id, *pw, *para;
  4645. int argc;
  4646. char *s, **argv;
  4647. long tm;
  4648. char *cns;
  4649. char *mos;
  4650.  
  4651. mos = (0);
  4652. cns = NtmGetCnsPtr(ntm);
  4653. # 148 "center01.cci"
  4654. _center01_recKey = NtmCenterGetRecKey(center);
  4655.  
  4656. name = NtmCenterGetName ( center );
  4657. tel = NtmCenterGetTel ( center );
  4658. id = NtmCenterGetID ( center );
  4659. pw = NtmCenterGetPassword( center );
  4660. if ( tel[0] == 0 || id[0] == 0 || pw[0] == 0 )
  4661. {
  4662. _ntm_errmsg_no_setup_id_and_pw();
  4663. if ( _CENTER01_para( ntm, center ) )
  4664. return ((-1));
  4665. id = NtmCenterGetID ( center );
  4666. pw = NtmCenterGetPassword( center );
  4667. tel = NtmCenterGetTel ( center );
  4668. }
  4669.  
  4670. _ntm_dspmsg_dial_start( name, tel, cns );
  4671.  
  4672. AplRecWrite("%s:Dial start tel.%s", _center01_recKey, tel );
  4673. if ( ntm_dialStart( ntm, tel ) != (0) )
  4674. {
  4675. ABORT: _CENTER01_abort( ntm, center );
  4676. if ( mos ) MOS_pop(mos);
  4677. return ((-1));
  4678. }
  4679.  
  4680. mos = MOS_push();
  4681. MOS_curType((82));
  4682. MOS_curDisp(1);
  4683. AplRecWrite("%s:Connect", _center01_recKey );
  4684.  
  4685. NTM_wait(1);
  4686. ret = NTM_waitStr( ntm, 30, "IDを入力してください :", (0) );
  4687. if ( ret == (-3) )
  4688. goto ABORT;
  4689. NTM_wait(1);
  4690. NTM_rsPuts( ntm, id ); NTM_rsPuts(ntm,"\r");
  4691.  
  4692. ret = NTM_waitStr( ntm, 30, "パスワードを入力してください :", (0));
  4693. if ( ret == (-3) )
  4694. goto ABORT;
  4695. NTM_wait(1);
  4696. NTM_rsPuts( ntm, pw ); NTM_rsPuts(ntm,"\r");
  4697.  
  4698.  
  4699. time(&tm);
  4700. NtmCenterSetTime( center, (0), tm );
  4701. AplRecWrite("%s:Login successful", _center01_recKey );
  4702. NTM_rsPuts(ntm,"\r");
  4703. MOS_pop(mos);
  4704.  
  4705. return ((0));
  4706. }
  4707. # 207 "center01.cci"
  4708. int _CENTER01_logout( char *ntm, char *center )
  4709. {
  4710. int ret;
  4711. long tm;
  4712.  
  4713. time(&tm);
  4714. NtmCenterSetTime( center, (1), tm );
  4715. AplRecWrite("%s:Logout", _center01_recKey);
  4716. NTM_wait(1);
  4717. NTM_rsPuts( ntm, "E\rY\r");
  4718. NTM_waitInstr( ntm, 30, "NO CARRIER", (0) );
  4719. NTM_offline(ntm, 2);
  4720. AplRecWrite("%s:Disconnect", _center01_recKey);
  4721.  
  4722. return ((0));
  4723. }
  4724. # 228 "center01.cci"
  4725. int _CENTER01_lineCheck( char *ntm, char *buf )
  4726. {
  4727. return ((0));
  4728. }
  4729. # 237 "center01.cci"
  4730. int _CENTER01_inputCheck( char *ntm, char *s )
  4731. {
  4732. NTM_rsPuts( ntm, s );
  4733. NTM_rsPuts( ntm, "\r" );
  4734. return ((0));
  4735. }
  4736. # 248 "center01.cci"
  4737. int _CENTER01_filterMenu( char *ntm, int x, int y )
  4738. {
  4739. return NtmUsr_filterMenu( ntm, x, y );
  4740. }
  4741.  
  4742. int CCI_dspCenter01Stt()
  4743. {
  4744. char *center;
  4745. char *name;
  4746. long loginTime, logoutTime;
  4747. char t1[32], t2[32];
  4748.  
  4749. if ( (center = NTM_getCenter("CENTER01")) == (0) )
  4750. return ((-1));
  4751. name = NtmCenterGetName(center);
  4752. loginTime = NtmCenterGetTime( center, (0) );
  4753. logoutTime = NtmCenterGetTime( center, (1) );
  4754. DLG_tmpMsgBox( (0x10030), (0x10030),
  4755. 1, 3, (0x1000|(((12)&15)<<4)|((7)&15)),
  4756. "  センター名 : %s\n  Login time       %s  \n  Last logout time %s  ",
  4757. name, GetAsciiTime(t1, loginTime), GetAsciiTime(t2,logoutTime) );
  4758. return ((0));
  4759. }
  4760. # 15 "center02.cci"
  4761. char *_center02_recKey;
  4762.  
  4763. int _CENTER02_init()
  4764. {
  4765. char *center;
  4766.  
  4767. if ( (center = NTM_centerAlloc( "CENTER02" )) != (0) )
  4768. {
  4769. NtmCenterSetName ( center, "Sample center (type-02:nanno)");
  4770. NtmCenterSetFuncKey( center, "CENTER02");
  4771. NtmCenterSetRecKey ( center, "CENTER02");
  4772. NtmCenterSetRsPara ( center, -1, -1, -1 );
  4773. NtmCenterSetRsBreak( center, 50 );
  4774. NtmCenterSetCrWait ( center, 100 );
  4775. NtmCenterSetTel ( center, "" );
  4776. NtmCenterSetModem1 ( center, "ATZ" );
  4777. }
  4778. return ((0));
  4779. }
  4780. # 39 "center02.cci"
  4781. int _CENTER02_naviInit( char *ntm, char *center )
  4782. {
  4783. # 44 "center02.cci"
  4784. return ((0));
  4785. }
  4786. # 51 "center02.cci"
  4787. int _CENTER02_para( char *ntm, char *center )
  4788. {
  4789. char *keyWord;
  4790. char *id, *pw;
  4791.  
  4792. keyWord = NtmCenterGetKeyWord(center);
  4793. if ( NTM_centerConfig( keyWord ) == (0) )
  4794. {
  4795. id = NtmCenterGetID ( center );
  4796. pw = NtmCenterGetPassword( center );
  4797. if ( id[0] == 0 || pw[0] == 0 )
  4798. return ((-1));
  4799. return ((0));
  4800. } else
  4801. return ((-1));
  4802. }
  4803. # 73 "center02.cci"
  4804. int _CENTER02_abort( char *ntm, char *center )
  4805. {
  4806. AplRecWrite("%s:Abort", _center02_recKey);
  4807. NTM_offline( ntm, 2 );
  4808. return ((0));
  4809. }
  4810. # 84 "center02.cci"
  4811. int _CENTER02_autoMenu( char *ntm, char *center, int x, int y)
  4812. {
  4813. int ret;
  4814. char *obj;
  4815. char *mnu;
  4816. char title[128], tmp[128], tmBuf[32];
  4817. long loginTime;
  4818.  
  4819. if ( ntm == (0) || center == (0) )
  4820. return (0);
  4821. loginTime = NtmCenterGetTime(center, (0) );
  4822. if ( loginTime )
  4823. { sprintf( tmp, "Login time %s ", GetAsciiTime(tmBuf,loginTime) );
  4824. } else
  4825. { strcpy( tmp, "Login time XXXX/XX/XX XX:XX:XX");
  4826. }
  4827. obj = MNU_alloc(3);
  4828. MNU_setObj(obj, 0, (1), 0 , tmp , (0), 0, (0), (0) );
  4829. MNU_setObj(obj, 1, (2), 'O', "OFF 終了" , (0), 1, (0), (0) );
  4830. MNU_setObj(obj, 2, (2), 'B', "OFF 強制回線切断", (0), 2, (0), (0) );
  4831.  
  4832. sprintf( title, "MENU : %s", NtmCenterGetName(center));
  4833. mnu = MNU_open( x, y, (1), obj, title );
  4834. ret = MNU_start ( mnu );
  4835. MNU_close(mnu);
  4836. MNU_free(obj);
  4837. switch ( ret )
  4838. {
  4839. case 1:
  4840. return NTM_callLogout( ntm );
  4841. case 2:
  4842. NTM_wait(3);
  4843. AplRecWrite("%s:Abort disconnect", _center02_recKey);
  4844. return NTM_offline(ntm, 2);
  4845. }
  4846. return ((0));
  4847. }
  4848. # 126 "center02.cci"
  4849. int _CENTER02_login( char *ntm, char *center )
  4850. {
  4851. int i, ret, retry;
  4852. char *name, *tel, *id, *pw, *para;
  4853. int argc;
  4854. char *s, **argv;
  4855. long tm;
  4856. char *cns;
  4857. char *mos;
  4858.  
  4859. mos = (0);
  4860. cns = NtmGetCnsPtr(ntm);
  4861. # 143 "center02.cci"
  4862. _center02_recKey = NtmCenterGetRecKey(center);
  4863.  
  4864. name = NtmCenterGetName ( center );
  4865. tel = NtmCenterGetTel ( center );
  4866. id = NtmCenterGetID ( center );
  4867. pw = NtmCenterGetPassword( center );
  4868. if ( tel[0] == 0 || id[0] == 0 || pw[0] == 0 )
  4869. {
  4870. _ntm_errmsg_no_setup_id_and_pw();
  4871. if ( _CENTER02_para( ntm, center ) )
  4872. return ((-1));
  4873. id = NtmCenterGetID ( center );
  4874. pw = NtmCenterGetPassword( center );
  4875. tel = NtmCenterGetTel ( center );
  4876. }
  4877.  
  4878. _ntm_dspmsg_dial_start( name, tel, cns );
  4879.  
  4880. AplRecWrite("%s:Dial start tel.%s", _center02_recKey, tel );
  4881. if ( ntm_dialStart( ntm, tel ) != (0) )
  4882. {
  4883. ABORT: _CENTER02_abort( ntm, center );
  4884. if ( mos ) MOS_pop(mos);
  4885. return ((-1));
  4886. }
  4887.  
  4888. mos = MOS_push();
  4889. MOS_curType((82));
  4890. MOS_curDisp(1);
  4891. AplRecWrite("%s:Connect", _center02_recKey );
  4892.  
  4893. NTM_wait(1);
  4894. ret = NTM_waitStr( ntm, 30, "HIT RETURN KEY>", (0));
  4895. if ( ret == (-3) )
  4896. goto ABORT;
  4897. NTM_rsPuts(ntm,"\r");
  4898. NTM_wait(1);
  4899.  
  4900. ret = NTM_waitStr( ntm, 30, "User ID=", (0) );
  4901. if ( ret == (-3) )
  4902. goto ABORT;
  4903. NTM_wait(1);
  4904. NTM_rsPuts( ntm, id ); NTM_rsPuts(ntm,"\r");
  4905.  
  4906. ret = NTM_waitStr( ntm, 30, "Password=", (0));
  4907. if ( ret == (-3) )
  4908. goto ABORT;
  4909. NTM_wait(1);
  4910. NTM_rsPuts( ntm, pw ); NTM_rsPuts(ntm,"\r");
  4911.  
  4912.  
  4913. time(&tm);
  4914. NtmCenterSetTime( center, (0), tm );
  4915. AplRecWrite("%s:Login successful", _center02_recKey );
  4916. MOS_pop(mos);
  4917.  
  4918. return ((0));
  4919. }
  4920. # 207 "center02.cci"
  4921. int _CENTER02_logout( char *ntm, char *center )
  4922. {
  4923. int ret;
  4924. long tm;
  4925.  
  4926. time(&tm);
  4927. NtmCenterSetTime( center, (1), tm );
  4928. AplRecWrite("%s:Logout", _center02_recKey);
  4929. NTM_wait(1);
  4930. NTM_rsPuts( ntm, "OFF\r");
  4931. NTM_waitInstr( ntm, 30, "NO CARRIER", (0) );
  4932. NTM_offline(ntm, 2);
  4933. AplRecWrite("%s:Disconnect", _center02_recKey);
  4934. return ((0));
  4935. }
  4936. # 227 "center02.cci"
  4937. int _CENTER02_lineCheck( char *ntm, char *buf )
  4938. {
  4939. return ((0));
  4940. }
  4941. # 236 "center02.cci"
  4942. int _CENTER02_filterMenu( char *ntm, int x, int y )
  4943. {
  4944. return NtmUsr_filterMenu( ntm, x, y );
  4945. }
  4946. # 245 "center02.cci"
  4947. int _CENTER02_inputCheck( char *ntm, char *s )
  4948. {
  4949. NTM_rsPuts( ntm, s );
  4950. NTM_rsPuts( ntm, "\r" );
  4951. return ((0));
  4952. }
  4953.  
  4954.  
  4955. int CCI_dspCenter02Stt()
  4956. {
  4957. char *center;
  4958. char *name;
  4959. long loginTime, logoutTime;
  4960. char t1[32], t2[32];
  4961.  
  4962. if ( (center = NTM_getCenter("CENTER02")) == (0) )
  4963. return ((-1));
  4964. name = NtmCenterGetName(center);
  4965. loginTime = NtmCenterGetTime( center, (0) );
  4966. logoutTime = NtmCenterGetTime( center, (1) );
  4967. DLG_tmpMsgBox( (0x10030), (0x10030),
  4968. 1, 3, (0x1000|(((12)&15)<<4)|((7)&15)),
  4969. "  センター名 : %s\n  Login time       %s  \n  Last logout time %s  ",
  4970. name, GetAsciiTime(t1, loginTime), GetAsciiTime(t2,logoutTime) );
  4971. return ((0));
  4972. }
  4973. # 15 "center03.cci"
  4974. char *_center03_recKey;
  4975.  
  4976. int _CENTER03_init()
  4977. {
  4978. char *center;
  4979.  
  4980. if ( (center = NTM_centerAlloc( "CENTER03" )) != (0) )
  4981. {
  4982. NtmCenterSetName ( center, "Sample center (type-03:)");
  4983. NtmCenterSetFuncKey( center, "CENTER03");
  4984. NtmCenterSetRecKey ( center, "CENTER03");
  4985. NtmCenterSetRsPara ( center, -1, -1, -1 );
  4986. NtmCenterSetRsBreak( center, 50 );
  4987. NtmCenterSetCrWait ( center, 100 );
  4988. NtmCenterSetTel ( center, "XX-XXXX-XXXX" );
  4989. NtmCenterSetModem1 ( center, "ATZ" );
  4990. }
  4991. return ((0));
  4992. }
  4993. # 39 "center03.cci"
  4994. int _CENTER03_naviInit( char *ntm, char *center )
  4995. {
  4996. # 44 "center03.cci"
  4997. return ((0));
  4998. }
  4999. # 51 "center03.cci"
  5000. int _CENTER03_para( char *ntm, char *center )
  5001. {
  5002. char *keyWord;
  5003. char *id, *pw;
  5004.  
  5005. keyWord = NtmCenterGetKeyWord(center);
  5006. if ( NTM_centerConfig( keyWord ) == (0) )
  5007. {
  5008. id = NtmCenterGetID ( center );
  5009. pw = NtmCenterGetPassword( center );
  5010. if ( id[0] == 0 || pw[0] == 0 )
  5011. return ((-1));
  5012. return ((0));
  5013. } else
  5014. return ((-1));
  5015. }
  5016. # 73 "center03.cci"
  5017. int _CENTER03_abort( char *ntm, char *center )
  5018. {
  5019. AplRecWrite("%s:Abort", _center03_recKey);
  5020. NTM_offline( ntm, 2 );
  5021. return ((0));
  5022. }
  5023. # 84 "center03.cci"
  5024. int _CENTER03_autoMenu( char *ntm, char *center, int x, int y)
  5025. {
  5026. int ret;
  5027. char *obj;
  5028. char *mnu;
  5029. char title[128], tmp[128], tmBuf[32];
  5030. long loginTime;
  5031.  
  5032. if ( ntm == (0) || center == (0) )
  5033. return (0);
  5034. loginTime = NtmCenterGetTime(center, (0) );
  5035. if ( loginTime )
  5036. { sprintf( tmp, "Login time %s ", GetAsciiTime(tmBuf,loginTime) );
  5037. } else
  5038. { strcpy( tmp, "Login time XXXX/XX/XX XX:XX:XX");
  5039. }
  5040. obj = MNU_alloc(3);
  5041. MNU_setObj(obj, 0, (1), 0 , tmp , (0), 0, (0), (0) );
  5042. MNU_setObj(obj, 1, (2), 'O', "OFF 終了" , (0), 1, (0), (0) );
  5043. MNU_setObj(obj, 2, (2), 'B', "OFF 強制回線切断", (0), 2, (0), (0) );
  5044.  
  5045. sprintf( title, "MENU : %s", NtmCenterGetName(center));
  5046. mnu = MNU_open( x, y, (1), obj, title );
  5047. ret = MNU_start ( mnu );
  5048. MNU_close(mnu);
  5049. MNU_free(obj);
  5050. switch ( ret )
  5051. {
  5052. case 1:
  5053. return NTM_callLogout( ntm );
  5054. case 2:
  5055. NTM_wait(3);
  5056. AplRecWrite("%s:Abort disconnect", _center03_recKey);
  5057. return NTM_offline(ntm, 2);
  5058. }
  5059. return ((0));
  5060. }
  5061. # 126 "center03.cci"
  5062. int _CENTER03_login( char *ntm, char *center )
  5063. {
  5064. int i, ret, retry;
  5065. char *name, *tel, *id, *pw, *para;
  5066. int argc;
  5067. char *s, **argv;
  5068. long tm;
  5069. char *cns;
  5070. char *mos;
  5071.  
  5072. mos = (0);
  5073. cns = NtmGetCnsPtr(ntm);
  5074. # 143 "center03.cci"
  5075. _center03_recKey = NtmCenterGetRecKey(center);
  5076.  
  5077. name = NtmCenterGetName ( center );
  5078. tel = NtmCenterGetTel ( center );
  5079. id = NtmCenterGetID ( center );
  5080. pw = NtmCenterGetPassword( center );
  5081. if ( tel[0] == 0 || id[0] == 0 || pw[0] == 0 )
  5082. {
  5083. _ntm_errmsg_no_setup_id_and_pw();
  5084. if ( _CENTER03_para( ntm, center ) )
  5085. return ((-1));
  5086. id = NtmCenterGetID ( center );
  5087. pw = NtmCenterGetPassword( center );
  5088. tel = NtmCenterGetTel ( center );
  5089. }
  5090.  
  5091. _ntm_dspmsg_dial_start( name, tel, cns );
  5092.  
  5093. AplRecWrite("%s:Dial start tel.%s", _center03_recKey, tel );
  5094. if ( ntm_dialStart( ntm, tel ) != (0) )
  5095. {
  5096. ABORT: _CENTER03_abort( ntm, center );
  5097. if ( mos ) MOS_pop(mos);
  5098. return ((-1));
  5099. }
  5100.  
  5101. mos = MOS_push();
  5102. MOS_curType((82));
  5103. MOS_curDisp(1);
  5104. AplRecWrite("%s:Connect", _center03_recKey );
  5105.  
  5106. NTM_wait(1);
  5107. ret = NTM_waitStr( ntm, 30, "User ID: FM-", (0) );
  5108. if ( ret == (-3) )
  5109. goto ABORT;
  5110. NTM_wait(1);
  5111. NTM_rsPuts( ntm, id ); NTM_rsPuts(ntm,"\r");
  5112.  
  5113. ret = NTM_waitStr( ntm, 30, "Password:", (0));
  5114. if ( ret == (-3) )
  5115. goto ABORT;
  5116. NTM_wait(1);
  5117. NTM_rsPuts( ntm, pw ); NTM_rsPuts(ntm,"\r");
  5118.  
  5119.  
  5120. time(&tm);
  5121. NtmCenterSetTime( center, (0), tm );
  5122. AplRecWrite("%s:Login successful", _center03_recKey );
  5123. MOS_pop(mos);
  5124.  
  5125. return ((0));
  5126. }
  5127. # 201 "center03.cci"
  5128. int _CENTER03_logout( char *ntm, char *center )
  5129. {
  5130. int ret;
  5131. long tm;
  5132.  
  5133. time(&tm);
  5134. NtmCenterSetTime( center, (1), tm );
  5135. AplRecWrite("%s:Logout", _center03_recKey);
  5136. NTM_wait(1);
  5137. NTM_rsPuts( ntm, "OFF\r");
  5138. NTM_waitInstr( ntm, 30, "NO CARRIER", (0) );
  5139. NTM_offline(ntm, 2);
  5140. AplRecWrite("%s:Disconnect", _center03_recKey);
  5141. return ((0));
  5142. }
  5143. # 221 "center03.cci"
  5144. int _CENTER03_lineCheck( char *ntm, char *buf )
  5145. {
  5146. return ((0));
  5147. }
  5148. # 230 "center03.cci"
  5149. int _CENTER03_inputCheck( char *ntm, char *s )
  5150. {
  5151. NTM_rsPuts( ntm, s );
  5152. NTM_rsPuts( ntm, "\r" );
  5153. return ((0));
  5154. }
  5155. # 241 "center03.cci"
  5156. int _CENTER02_filterMenu( char *ntm, int x, int y )
  5157. {
  5158. return NtmUsr_filterMenu( ntm, x, y );
  5159. }
  5160.  
  5161. int CCI_dspCenter03Stt()
  5162. {
  5163. char *center;
  5164. char *name;
  5165. long loginTime, logoutTime;
  5166. char t1[32], t2[32];
  5167.  
  5168. if ( (center = NTM_getCenter("CENTER03")) == (0) )
  5169. return ((-1));
  5170. name = NtmCenterGetName(center);
  5171. loginTime = NtmCenterGetTime( center, (0) );
  5172. logoutTime = NtmCenterGetTime( center, (1) );
  5173. DLG_tmpMsgBox( (0x10030), (0x10030),
  5174. 1, 3, (0x1000|(((12)&15)<<4)|((7)&15)),
  5175. "  センター名 : %s\n  Login time       %s  \n  Last logout time %s  ",
  5176. name, GetAsciiTime(t1, loginTime), GetAsciiTime(t2,logoutTime) );
  5177. return ((0));
  5178. }
  5179. # 17 "center04.cci"
  5180. char *_center04_recKey;
  5181.  
  5182. int _CENTER04_init()
  5183. {
  5184. char *center;
  5185.  
  5186. if ( (center = NTM_centerAlloc( "CENTER04" )) != (0) )
  5187. {
  5188. NtmCenterSetName ( center, "Sample center (type-04:Turbo-BBS)");
  5189. NtmCenterSetFuncKey( center, "CENTER04");
  5190. NtmCenterSetRecKey ( center, "CENTER04");
  5191. NtmCenterSetRsPara ( center, -1, -1, -1 );
  5192. NtmCenterSetRsBreak( center, 50 );
  5193. NtmCenterSetCrWait ( center, 100 );
  5194. NtmCenterSetTel ( center, "XX-XXXX-XXXX" );
  5195. NtmCenterSetModem1 ( center, "ATZ" );
  5196. }
  5197. return ((0));
  5198. }
  5199. # 41 "center04.cci"
  5200. int _CENTER04_naviInit( char *ntm, char *center )
  5201. {
  5202. NtmSetNaviServiceMode( ntm, 0 );
  5203. return ((0));
  5204. }
  5205. # 52 "center04.cci"
  5206. int _CENTER04_para( char *ntm, char *center )
  5207. {
  5208. char *keyWord;
  5209. char *id, *pw;
  5210.  
  5211. keyWord = NtmCenterGetKeyWord(center);
  5212. if ( NTM_centerConfig( keyWord ) == (0) )
  5213. {
  5214. id = NtmCenterGetID ( center );
  5215. pw = NtmCenterGetPassword( center );
  5216. if ( id[0] == 0 || pw[0] == 0 )
  5217. return ((-1));
  5218. return ((0));
  5219. } else
  5220. return ((-1));
  5221. }
  5222. # 74 "center04.cci"
  5223. int _CENTER04_abort( char *ntm, char *center )
  5224. {
  5225. AplRecWrite("%s:Abort", _center04_recKey);
  5226. NTM_offline( ntm, 2 );
  5227. return ((0));
  5228. }
  5229. # 85 "center04.cci"
  5230. int _CENTER04_autoMenu( char *ntm, char *center, int x, int y)
  5231. {
  5232. int ret;
  5233. char *obj;
  5234. char *mnu;
  5235. char title[128], tmp[128], tmBuf[32];
  5236. long loginTime;
  5237.  
  5238. if ( ntm == (0) || center == (0) )
  5239. return (0);
  5240. loginTime = NtmCenterGetTime(center, (0) );
  5241. if ( loginTime )
  5242. { sprintf( tmp, "Login time %s ", GetAsciiTime(tmBuf,loginTime) );
  5243. } else
  5244. { strcpy( tmp, "Login time XXXX/XX/XX XX:XX:XX");
  5245. }
  5246. obj = MNU_alloc(3);
  5247. MNU_setObj(obj, 0, (1), 0 , tmp , (0), 0, (0), (0) );
  5248. MNU_setObj(obj, 1, (2), 'O', "OFF 終了" , (0), 1, (0), (0) );
  5249. MNU_setObj(obj, 2, (2), 'B', "OFF 強制回線切断", (0), 2, (0), (0) );
  5250.  
  5251. sprintf( title, "MENU : %s", NtmCenterGetName(center));
  5252. mnu = MNU_open( x, y, (1), obj, title );
  5253. ret = MNU_start ( mnu );
  5254. MNU_close(mnu);
  5255. MNU_free(obj);
  5256. switch ( ret )
  5257. {
  5258. case 1:
  5259. return NTM_callLogout( ntm );
  5260. case 2:
  5261. NTM_wait(3);
  5262. AplRecWrite("%s:Abort disconnect", _center04_recKey);
  5263. return NTM_offline(ntm, 2);
  5264. }
  5265. return ((0));
  5266. }
  5267. # 127 "center04.cci"
  5268. int _CENTER04_login( char *ntm, char *center )
  5269. {
  5270. int i, ret, retry;
  5271. char *name, *tel, *id, *pw, *para;
  5272. int argc;
  5273. char *s, **argv;
  5274. long tm;
  5275. char *cns;
  5276. char *mos;
  5277.  
  5278. mos = (0);
  5279. cns = NtmGetCnsPtr(ntm);
  5280. # 144 "center04.cci"
  5281. _center04_recKey = NtmCenterGetRecKey(center);
  5282.  
  5283. name = NtmCenterGetName ( center );
  5284. tel = NtmCenterGetTel ( center );
  5285. id = NtmCenterGetID ( center );
  5286. pw = NtmCenterGetPassword( center );
  5287. if ( tel[0] == 0 || id[0] == 0 || pw[0] == 0 )
  5288. {
  5289. _ntm_errmsg_no_setup_id_and_pw();
  5290. if ( _CENTER04_para( ntm, center ) )
  5291. return ((-1));
  5292. id = NtmCenterGetID ( center );
  5293. pw = NtmCenterGetPassword( center );
  5294. tel = NtmCenterGetTel ( center );
  5295. }
  5296.  
  5297. _ntm_dspmsg_dial_start( name, tel, cns );
  5298.  
  5299. AplRecWrite("%s:Dial start tel.%s", _center04_recKey, tel );
  5300. if ( ntm_dialStart( ntm, tel ) != (0) )
  5301. {
  5302. ABORT: _CENTER04_abort( ntm, center );
  5303. if ( mos ) MOS_pop(mos);
  5304. return ((-1));
  5305. }
  5306.  
  5307. mos = MOS_push();
  5308. MOS_curType((82));
  5309. MOS_curDisp(1);
  5310. AplRecWrite("%s:Connect", _center04_recKey );
  5311.  
  5312. ret = NTM_waitInstr( ntm, 30, "User ID  = ", (0) );
  5313. if ( ret == (-3) )
  5314. goto ABORT;
  5315. NTM_wait(1);
  5316. NTM_rsPuts( ntm, id ); NTM_rsPuts(ntm,"\r");
  5317.  
  5318. ret = NTM_waitStr( ntm, 30, "Password = ", (0));
  5319. if ( ret == (-3) )
  5320. goto ABORT;
  5321. NTM_wait(1);
  5322. NTM_rsPuts( ntm, pw ); NTM_rsPuts(ntm,"\r");
  5323.  
  5324.  
  5325. time(&tm);
  5326. NtmCenterSetTime( center, (0), tm );
  5327. AplRecWrite("%s:Login successful", _center04_recKey );
  5328. MOS_pop(mos);
  5329.  
  5330. return ((0));
  5331. }
  5332. # 201 "center04.cci"
  5333. int _CENTER04_logout( char *ntm, char *center )
  5334. {
  5335. int ret;
  5336. long tm;
  5337.  
  5338. time(&tm);
  5339. NtmCenterSetTime( center, (1), tm );
  5340. AplRecWrite("%s:Logout", _center04_recKey);
  5341. NTM_wait(1);
  5342. NTM_rsPuts( ntm, "O\r");
  5343.  
  5344. NTM_waitInstr( ntm, 30, "(Y/[N]) >", (0) );
  5345. if ( ret != (-3) )
  5346. {
  5347. NTM_rsPuts( ntm, "Y\r");
  5348. }
  5349.  
  5350. NTM_waitInstr( ntm, 30, "NO CARRIER", (0) );
  5351. NTM_offline(ntm, 2);
  5352. AplRecWrite("%s:Disconnect", _center04_recKey);
  5353. return ((0));
  5354. }
  5355. # 228 "center04.cci"
  5356. int _CENTER04_lineCheck( char *ntm, char *buf )
  5357. {
  5358. return ((0));
  5359. }
  5360. # 237 "center04.cci"
  5361. int _CENTER04_inputCheck( char *ntm, char *s )
  5362. {
  5363. NTM_rsPuts( ntm, s );
  5364. NTM_rsPuts( ntm, "\r" );
  5365. return ((0));
  5366. }
  5367. # 248 "center04.cci"
  5368. int _CENTER04_filterMenu( char *ntm, int x, int y )
  5369. {
  5370. return NtmUsr_filterMenu( ntm, x, y );
  5371. }
  5372.  
  5373. int CCI_dspCenter04Stt()
  5374. {
  5375. char *center;
  5376. char *name;
  5377. long loginTime, logoutTime;
  5378. char t1[32], t2[32];
  5379.  
  5380. if ( (center = NTM_getCenter("CENTER04")) == (0) )
  5381. return ((-1));
  5382. name = NtmCenterGetName(center);
  5383. loginTime = NtmCenterGetTime( center, (0) );
  5384. logoutTime = NtmCenterGetTime( center, (1) );
  5385. DLG_tmpMsgBox( (0x10030), (0x10030),
  5386. 1, 3, (0x1000|(((12)&15)<<4)|((7)&15)),
  5387. "  センター名 : %s\n  Login time       %s  \n  Last logout time %s  ",
  5388. name, GetAsciiTime(t1, loginTime), GetAsciiTime(t2,logoutTime) );
  5389. return ((0));
  5390. }
  5391. # 969 "ntm.cci"
  5392. char *NtmTbl_metakey[26] =
  5393. {
  5394. "read All",
  5395. "go Bill",
  5396. "Compose",
  5397. "Down",
  5398. "Echo",
  5399. "Forward",
  5400. "Guest",
  5401. "go HP",
  5402. "Insert",
  5403. "Jump",
  5404. "Delete",
  5405. "Lib",
  5406. "go Member",
  5407. "Number",
  5408. "Off",
  5409. "go Phone",
  5410. "Quit",
  5411. "Reply",
  5412. "Store",
  5413. "Time",
  5414. "Upload",
  5415. "View",
  5416. "Wait",
  5417. "rvl",
  5418. "sdl",
  5419. "mread room:"
  5420. };
  5421. # 1003 "ntm.cci"
  5422. int NtmUsr_sysInit()
  5423. {
  5424. int i;
  5425.  
  5426. for ( i = 0; i < 26; ++i )
  5427. NtmMetaKeySet( 'A'+i, NtmTbl_metakey[i]);
  5428.  
  5429.  
  5430. _NIFTY_init();
  5431. # 1027 "ntm.cci"
  5432. _CENTER01_init();
  5433.  
  5434.  
  5435. _CENTER02_init();
  5436.  
  5437.  
  5438. _CENTER03_init();
  5439.  
  5440.  
  5441. _CENTER04_init();
  5442.  
  5443.  
  5444. NTM_loadCenterData( "center.dat" );
  5445. }
  5446.  
  5447. int NtmUsr_sysTerm( int saveFlag )
  5448. {
  5449. if ( saveFlag )
  5450. NTM_saveCenterData( "center.dat" );
  5451. return ((0));
  5452. }
  5453. # 1054 "ntm.cci"
  5454. int NtmUsr_lineCheck( char *ntm, char *buf )
  5455. {
  5456. return ((0));
  5457. }
  5458. # 1063 "ntm.cci"
  5459. int NtmUsr_inputCheck( char *ntm, char *s )
  5460. {
  5461. NTM_rsPuts( ntm, s );
  5462. NTM_rsPuts( ntm, "\r" );
  5463. return ((0));
  5464. }
  5465. # 13 "tools.cci"
  5466. int CCI_sidework()
  5467. {
  5468. AplSideWorkMenu();
  5469. return ((0));
  5470. }
  5471. # 26 "tools.cci"
  5472. int CCI_textViewer( int argc, char **argv)
  5473. {
  5474. if ( argc > 1 )
  5475. { AplHelpDlg( argv[1], "TEXT" );
  5476. }
  5477. return ((0));
  5478. }
  5479. # 6 "sndplay.cci"
  5480. int CCI_sndPlay(int argc, char **argv)
  5481. {
  5482. char *fp;
  5483. char *fdl;
  5484. char *dlg;
  5485. char *fn, buf[128], *dat;
  5486. int ret, ch, mute_sw, x, y;
  5487. long siz;
  5488.  
  5489. if ( argc > 1 )
  5490. {
  5491. fn = argv[1];
  5492. } else
  5493. {
  5494. if ( (fdl = FDL_open(0)) == (0) )
  5495. return ((-1));
  5496. FDL_set_title( fdl,"SND PLAY");
  5497. FDL_set_wildcard( fdl, "*.snd");
  5498. ret = FDL_start(fdl);
  5499. fn = FDL_get_filename(fdl);
  5500. if ( ret == (0) && strlen(fn) > 0 )
  5501. {
  5502. strcpy( buf, fn );
  5503. fn = buf;
  5504. } else
  5505. ret = (-1);
  5506. FDL_close(fdl);
  5507. if ( ret != (0) )
  5508. return ((-1));
  5509. }
  5510.  
  5511. if ( (fp = FM_fopen(fn,"rb")) == (0) )
  5512. {
  5513. DLG_tmpMsgTime( (0x10020), (0x10020),
  5514. 1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
  5515. 3, "file open error!! (%s)", fn );
  5516. return ((-1));
  5517. }
  5518. fseek(fp, 0, (2));
  5519. siz = ftell(fp);
  5520. rewind(fp);
  5521. if( (dat = malloc(siz)) == (0) )
  5522. {
  5523. FM_fclose(fp);
  5524. DLG_tmpMsgBox ( (0x10020), (0x10020),
  5525. 1, 3, (0x1000|(((10)&15)<<4)|((7)&15)),
  5526. "Memory allocation error!! (size %u)", siz );
  5527. return ((-1));
  5528. }
  5529. fread( dat, siz, 1, fp );
  5530. FM_fclose(fp);
  5531.  
  5532. dlg = DLG_msgOpen( (0x10020),(0x10020),
  5533. 6*40,12*6, 1,3,(0x1000|(((12)&15)<<4)|((7)&15)),
  5534. "SND PLAYER");
  5535.  
  5536. DLG_msgSetConfig( dlg, 4, 6, 12 );
  5537. DLG_msgClear( dlg, 15);
  5538. DLG_msgPrintf(dlg,"\r\n" );
  5539. DLG_msgPrintf(dlg,"SND DATA FILE : %s\r\n", fn );
  5540. DLG_msgPrintf(dlg,"    DATA SIZE : %8u\r\n", siz );
  5541. DLG_msgPrintf(dlg,"    BASE NOTE : %d\r\n", dat[28]&127 );
  5542.  
  5543. SND_get_elevol_mute( &mute_sw );
  5544. mute_sw |= 1;
  5545. SND_elevol_mute( mute_sw );
  5546.  
  5547. SND_pcm_abort();
  5548. SND_pcm_mode_set(1);
  5549. ch = 71;
  5550. SND_pan_set(ch,64);
  5551. SND_pitch_change(ch,8192);
  5552. SND_volume_change(ch,127);
  5553. SND_pcm_play(ch, dat[28] & 127, 127, dat);
  5554. while ( SND_pcm_status(ch) != 0 )
  5555. { if ( EVT_kbhit() || EVT_mos_pget(&x,&y) )
  5556. {
  5557. DLG_msgPrintf(dlg,"\r\nAbort...\r\n" );
  5558. break;
  5559. }
  5560. }
  5561. SND_pcm_play_stop(ch);
  5562.  
  5563. DLG_msgClose( dlg );
  5564.  
  5565. free(dat);
  5566.  
  5567. return ((0));
  5568. }
  5569.